Проблема в области видимости переменной j. Дело в том, что ваша переменная видна только в case 1 и больше нигде. Поэтому компилятор и ругается в том, что нельзя присвоить значение. Объявите переменную j вначале цикла или сделайте её статической и у вас все заработает. Например так
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner;
public class Apply {
Scanner myConsoleScanner = new Scanner (System.in);
PrintWriter myPrinter = new PrintWriter (System.out);
static String j;
public static void main(String[] args) {
try{
Apply.rhyme ();
}
catch (IOException ex){
ex.printStackTrace ();
}
}
public static void rhyme() throws IOException {
String a1 = "Двадцать один, Тридцать один, Сорок один, Пятьдесят один";
String a2 = "Двадцать два, Тридцать два, Сорок два, Пятьдесят два";
for(int i = 1; i <= 100; i++) {
switch(i) {
case 1:
j = a1;
break;
case 2:
j = a2; break;
}
System.out.println("У числа " + i + "эти рифмы : " + j );
}
}
}