Java猜数字游戏及其优化(第三章上机实验)
一,教材上的代码:
import java.util.Scanner; import java.util.Random; public class GuessNumber{ public static void main(String args[]){ Scanner reader = new Scanner(System.in); Random random=new Random(); System.out.println("给你一个1至100之间的整数,请猜测这个数:"); int realNumber=random.nextInt(100)+1;//random.nextInt(100)是[0,100)中的随机整数 int yourGuess=0; System.out.print("请输入你的猜测:"); yourGuess=reader.nextInt(); while(yourGuess != realNumber)//循环条件 { if(yourGuess>realNumber)//猜大了的条件代码 { System.out.print("猜大了,再输入你的猜测:"); yourGuess=reader.nextInt(); } else if (yourGuess<realNumber)//猜小了的条件代码 { System.out.print("猜小了,再输入你的代码:"); yourGuess=reader.nextInt(); } } System.out.print("猜对了!"); } }
二,优化用户体验代码(提示区间,运气值判定):
import java.util.Scanner; import java.util.Random; public class GuessNumberS{ public static void main(String args[]){ Scanner reader = new Scanner(System.in); Random random=new Random(); System.out.println("给你一个1至100之间的整数,请猜测这个数:[1,100]"); int realNumber=random.nextInt(100)+1;//random.nextInt(100)是[0,100)中的随机整数 int yourGuess=0,count=0; int high=100,low=1; System.out.print("请输入你的猜测:"); yourGuess=reader.nextInt(); count++; while(yourGuess != realNumber)//循环条件 { if(yourGuess>realNumber)//猜大了的条件代码 { high=yourGuess; System.out.println("猜大了,再输入你的猜测["+low+","+high+"]"); yourGuess=reader.nextInt(); count++; } else if (yourGuess<realNumber)//猜小了的条件代码 { low=yourGuess; System.out.println("猜小了,再输入你的猜测["+low+","+high+"]"); yourGuess=reader.nextInt(); count++; } } switch(count){ case 1: System.out.print("你一下就猜到了,你一定是天选之人!"); break; } if(count>1 && count<=5){ System.out.print("你只猜了"+count+"次就猜对啦!!!你的运气太好啦!"); }else if(count>5 && count<=8){ System.out.print("你一共猜了"+count+"次!!也很棒呦~"); }else if(count>8 && count<=10000){ System.out.print("你一共猜了"+count+"次!"); } } }
下一篇:
树上差分(点差分/边差分)