追加15 java return问题

来源:百度知道 编辑:UC知道 时间:2024/06/08 04:31:40
public static void main(String args[]){
Random diceValues=new Random();
String[] theThrow={"first","second","third","forth","fifth","sixth"};
int die1=0;
int die2=0;
System.out.println("You have six throwsof a pair of dice.\n"+"The objective is to get a double six.here goes..\n");
for(int i=0;i<6;i++){
die1=1+diceValues.nextInt(6);
die2=1+diceValues.nextInt(6);
System.out.println(theThrow[i]+"throw:"+die1+","+die2);
if(die1+die2==12){
System.out.println(" You win!");
return;
}
}
System.out.println("You lost!");
return;
}
}

请详细解释一下上述程序中两个return各自返回到何处。有没有哪个return可以不要?

首先,要不要return,是看程序而定;但它们都是程序结束的标志.当程序运行到return时,程序结束.
第一个return,当for循环里面的i等于0,1,2,3,4中任意一个数字时,切die1+die2==12,程序在执行完System.out.println(" You win!");
语句后退出.意思就是i等于5的情况就不会执行了.因为i一共有0,1,2,3,4,5种值;这个时候return就是必须的了;

第二个return,在执行完System.out.println("You lost!"); 语句后程序退出,
return后面不能再有其他执行语句,否则会抱错,同时,既然return后面没有执行语句了,那这里的return也就可以不要了,因为当程序执行完System.out.println("You lost!"); 后,程序也会退出.

关注····