I made a program of tic-tac-toe. There is a problem on the line String line = switch(a)
("illegal start of expression").
It is a window application of this game.
I have no idea how to fix this.
public void checkIfGameIsOver(){
for (int a = 0; a < 8; a++) {
String line = switch (a) {
case 0 -> button1.getText() + button2.getText() + button3.getText();
case 1 -> button4.getText() + button5.getText() + button6.getText();
case 2 -> button7.getText() + button8.getText() + button9.getText();
case 3 -> button1.getText() + button5.getText() + button9.getText();
case 4 -> button3.getText() + button5.getText() + button7.getText();
case 5 -> button1.getText() + button4.getText() + button7.getText();
case 6 -> button2.getText() + button5.getText() + button8.getText();
case 7 -> button3.getText() + button6.getText() + button9.getText();
default -> null;
};
I'm using Java version 1.8.0_231.
Switch expressions were introduced in Java 12 as a preview feature and formally made available in Java 13 (JEP 354). Given you're using Java 8, you cannot use switch expressions.
You either need to upgrade to a more recent Java version (e.g. Java 17), or use a switch statement.
That is:
public void checkIfGameIsOver(){
for (int a = 0; a < 8; a++) {
String line;
switch (a) {
case 0:
line = button1.getText() + button2.getText() + button3.getText();
break;
case 1:
line = button4.getText() + button5.getText() + button6.getText();
break;
case 2:
line = button7.getText() + button8.getText() + button9.getText();
break;
case 3:
line = button1.getText() + button5.getText() + button9.getText();
break;
case 4:
line = button3.getText() + button5.getText() + button7.getText();
break;
case 5:
line = button1.getText() + button4.getText() + button7.getText();
break;
case 6:
line = button2.getText() + button5.getText() + button8.getText();
break;
case 7:
line = button3.getText() + button6.getText() + button9.getText();
break;
default:
line = null;
};