【发布时间】:2021-06-11 10:04:40
【问题描述】:
我有这段代码
String p4name;
String p5name;
if(p1score > p2score && p1score > p3score){
if(p2score > p3score){
p1.setWinner(true);
p2.setWinner(true);
p3.setWinner(false);
System.out.println();
System.out.println();
System.out.println("**** " + p1.getName() + " and " + p2.getName() + " proceed to 2-Player phase **** ");
p4name = p1.getName();
p5name = p2.getName();
}
else{
p1.setWinner(true);
p2.setWinner(false);
p3.setWinner(true);
System.out.println();
System.out.println();
System.out.println("**** " + p1.getName() + " and " + p3.getName() + " proceed to 2-Player phase **** ");
p4name = p1.getName();
p5name = p3.getName();
}
}
else if(p2score > p1score && p2score > p3score){
if(p1score > p3score){
p1.setWinner(true);
p2.setWinner(true);
p3.setWinner(false);
System.out.println();
System.out.println();
System.out.println("**** " + p1.getName() + " and " + p2.getName() + " proceed to 2-Player phase **** ");
p4name = p1.getName();
p5name = p2.getName();
}
else{
p1.setWinner(false);
p2.setWinner(true);
p3.setWinner(true);
System.out.println();
System.out.println();
System.out.println("**** " + p2.getName() + " and " + p3.getName() + " proceed to 2-Player phase **** ");
p4name = p2.getName();
p5name = p3.getName();
}
}
else if (p3score > p1score && p3score > p2score){
if(p1score > p2score){
p1.setWinner(true);
p2.setWinner(false);
p3.setWinner(true);
System.out.println();
System.out.println();
System.out.println("**** " + p1.getName() + " and " + p3.getName() + " proceed to 2-Player phase **** ");
p4name = p1.getName();
p5name = p3.getName();
}
else{
p1.setWinner(false);
p2.setWinner(true);
p3.setWinner(true);
System.out.println();
System.out.println();
System.out.println("**** " + p2.getName() + " and " + p3.getName() + " proceed to 2-Player phase **** ");
p4name = p2.getName();
p5name = p3.getName();
}
}
else {
System.out.println();
System.out.println();
System.out.println("**** It's a tie **** ");
}
我尝试使用 p4name, p5name 变量创建新对象
Player p4 = new Player(p4name);
Player p5 = new Player(p5name);
但是cmd说p4name,p5name没有初始化。是因为它是在 if/else 中初始化的吗?是否有任何可能的方法来克服这个问题,而不必在循环中继续我的其余代码?
【问题讨论】:
标签: java loops variables reference