在做上面这个题目时,我开始在main方法的while循环中使用gue.guess()调用了一次方法;又在输出中使用gue.guess()调用了一次方法,想把返回值输出;最后还在终止循环的判断中调用了一次,运行后发现总会有输出混乱的现象,解决方法就是只调用一次方法,返回值用一个变量接住,再进行下面的操作. 代码实现如下
public class Test1 { //成员变量 int v = 100; int num; //方法guess public String guess(){ System.out.println("请输入一个数字:"); Scanner data = new Scanner(System.in); num = data.nextInt(); if (num==v){ return "猜对了"; }else if(num>v){ return "猜大了"; }else{ return "猜小了"; } } public static void main(String[] args) { Test1 gue = new Test1(); while(true){ String a = gue.guess();//每一次的gue.guess都是对方法的一次调用 System.out.println(a+"游戏结束");//若是在这里再加一个gue.guess()它会把方法再运行一遍 if(a =="猜对了"){ break; } } } }