![]() |
#2
不懂才问2019-04-24 18:50
import java.util.Scanner;
import java.util.Random; class TestJava{ public static void main(String[] args){ Scanner stdIn=new Scanner(System.in); Random rand=new Random(); int retryCount=rand.nextInt(11); //把rand和stdin弄混了…… System.out.println("猜数游戏,每轮可以猜五次,最多可以猜" + retryCount + "轮。"); int randNum=rand.nextInt(101); System.out.println("作弊器:生成的随机数是:" + randNum); int total=0; //所有组的合计值 int i; //因为循环结束后还要用到i,所以要在循环语句之前声明 Outer: for (i=1;i<=retryCount;i++){ System.out.println("■第" + i + "轮猜数:"); int sum=0; //每组的小计值 Inner: for (int j=0;j<5;j++){ System.out.print("整数:"); int t=stdIn.nextInt(); if (total+sum+t==randNum){ total=randNum; break Outer; //直接退出两层循环 }else if(total+sum+t>randNum){ break Inner; //退出当前层循环 } sum+=t; } System.out.println("本轮有效值为:" + sum + "。\n"); total+=sum; } if (total==randNum){ System.out.println("使用了" + i + "轮,终于猜出了正确的数字:" + randNum); }else{ System.out.println("使用了" + retryCount + "轮,还是没有猜出正确的数字:" + randNum); } } } |

import java.util.Scanner;
import java.util.Random;
class TestJava{
public static void main(String[] args){
Scanner stdIn=new Scanner(System.in);
Random rand=new Random();
int retryCount=stdIn.nextInt(11);
System.out.println("猜数游戏,每轮可以猜五次,最多可以猜" + retryCount + "轮。");
int randNum=rand.nextInt(101);
System.out.println("作弊器:生成的随机数是:" + randNum);
int total=0; //所有组的合计值
int i; //因为循环结束后还要用到i,所以要在循环语句之前声明
Outer:
for (i=1;i<=retryCount;i++){
System.out.println("■第" + i + "轮猜数:");
int sum=0; //每组的小计值
Inner:
for (int j=0;j<5;j++){
System.out.print("整数:");
int t=stdIn.nextInt();
if (total+sum+t==randNum){
total=randNum;
break Outer; //直接退出两层循环
}else if(total+sum+t>randNum){
break Inner; //退出当前层循环
}
sum+=t;
}
System.out.println("本轮有效值为:" + sum + "。\n");
total+=sum;
}
if (total==randNum){
System.out.println("使用了" + i + "轮,终于猜出了正确的数字:" + randNum);
}else{
System.out.println("使用了" + retryCount + "轮,还是没有猜出正确的数字:" + randNum);
}
}
}
import java.util.Random;
class TestJava{
public static void main(String[] args){
Scanner stdIn=new Scanner(System.in);
Random rand=new Random();
int retryCount=stdIn.nextInt(11);
System.out.println("猜数游戏,每轮可以猜五次,最多可以猜" + retryCount + "轮。");
int randNum=rand.nextInt(101);
System.out.println("作弊器:生成的随机数是:" + randNum);
int total=0; //所有组的合计值
int i; //因为循环结束后还要用到i,所以要在循环语句之前声明
Outer:
for (i=1;i<=retryCount;i++){
System.out.println("■第" + i + "轮猜数:");
int sum=0; //每组的小计值
Inner:
for (int j=0;j<5;j++){
System.out.print("整数:");
int t=stdIn.nextInt();
if (total+sum+t==randNum){
total=randNum;
break Outer; //直接退出两层循环
}else if(total+sum+t>randNum){
break Inner; //退出当前层循环
}
sum+=t;
}
System.out.println("本轮有效值为:" + sum + "。\n");
total+=sum;
}
if (total==randNum){
System.out.println("使用了" + i + "轮,终于猜出了正确的数字:" + randNum);
}else{
System.out.println("使用了" + retryCount + "轮,还是没有猜出正确的数字:" + randNum);
}
}
}