Java中Do While语句中的方法?
我知道这对任何真正了解Java的人来说都是非常基本的,但我仍在学习。我正在做一个练习,我必须创建一个方法“startGuessing()”,它使用另一个方法“guess()”,将该方法的输出显示到终端。此外,它还显示了尝试的次数,并在猜测正确的次数时结束 我对尝试的次数很感兴趣,当猜到正确的次数时就结束了——但我一辈子都无法了解如何使用内部方法的输出。我是Java新手,所以我试图真正理解,而不是仅仅把答案放在盘子里。下面是我的代码(这是startGuessing()方法,我无法理解其逻辑:Java中Do While语句中的方法?,java,loops,iteration,Java,Loops,Iteration,我知道这对任何真正了解Java的人来说都是非常基本的,但我仍在学习。我正在做一个练习,我必须创建一个方法“startGuessing()”,它使用另一个方法“guess()”,将该方法的输出显示到终端。此外,它还显示了尝试的次数,并在猜测正确的次数时结束 我对尝试的次数很感兴趣,当猜到正确的次数时就结束了——但我一辈子都无法了解如何使用内部方法的输出。我是Java新手,所以我试图真正理解,而不是仅仅把答案放在盘子里。下面是我的代码(这是startGuessing()方法,我无法理解其逻辑: im
import java.util.*;
public class HiLo {
public static void main(String[] args) {
startGuessing();
}
static int random;
public void generateNumber()
{
//The following lines generate and output a random number between 1 and 10
random = (int)(Math.random()*100)+1;
}
//Write the guess() method below
public void guess()
{
//Create a new scanner object to receive user input
Scanner sc=new Scanner(System.in);
System.out.println("Enter your guess ");
int guess = sc.nextInt();
if(guess == random)
{
System.out.println("Hit!");
} else if(guess < random)
{
System.out.println("Low!");
} else if(guess > random)
{
System.out.println("High!");
}
}
public void startGuessing()
{
int i = 0;
do {
guess();
i++;
}
while(guess != random);
System.out.println("That took you " + i + " guesses!");
}
}
import java.util.*;
公共类HiLo{
公共静态void main(字符串[]args){
开始学习();
}
静态int随机;
公共空生成器枚举器()
{
//以下几行生成并输出一个介于1和10之间的随机数
random=(int)(Math.random()*100)+1;
}
//在下面编写guess()方法
公众猜测
{
//创建新的扫描仪对象以接收用户输入
扫描仪sc=新的扫描仪(System.in);
System.out.println(“输入您的猜测”);
int guess=sc.nextInt();
如果(猜测==随机)
{
System.out.println(“命中!”);
}else if(猜测<随机)
{
System.out.println(“Low!”);
}else if(猜测>随机)
{
System.out.println(“高!”);
}
}
公共无效开始使用()
{
int i=0;
做{
猜();
i++;
}
而(猜测!=随机);
System.out.println(“这让你”+i+“猜猜!”);
}
}
我知道这对任何了解Java的人来说都是非常基本的,但我才刚刚开始。任何帮助都将不胜感激。这就是我最后所做的。从guess()方法中提取代码,使用布尔标志对其进行更改,并在do while循环中使用:
public static void startGuessing2() {
boolean correct = false;
int i = 1;
do {
//Create a new scanner object to receive user input
Scanner sc = new Scanner(System.in);
System.out.println("Enter your guess ");
int guess = sc.nextInt();
if (guess == random) {
System.out.println("Hit!");
correct = true;
} else if (guess < random) {
System.out.println("Low!");
correct = false;
} else if (guess > random) {
System.out.println("High!");
correct = false;
}
i++;
} while (correct == false);
System.out.println("That took you " + i + " guesses!");
}
publicstaticvoidstartguessing2(){
布尔正确=错误;
int i=1;
做{
//创建新的扫描仪对象以接收用户输入
扫描仪sc=新的扫描仪(System.in);
System.out.println(“输入您的猜测”);
int guess=sc.nextInt();
如果(猜测==随机){
System.out.println(“命中!”);
正确=正确;
}else if(猜测<随机){
System.out.println(“Low!”);
正确=错误;
}else if(猜测>随机){
System.out.println(“高!”);
正确=错误;
}
i++;
}while(correct==false);
System.out.println(“这让你”+i+“猜猜!”);
}
这就是我要学习编写返回字符串的方法的地方:
//Write the guess() method below
public static String guess() {
//Create a new scanner object to receive user input
Scanner sc = new Scanner(System.in);
System.out.println("Enter your guess ");
int guessVal = sc.nextInt();
String result;
if (guessVal == random) {
result = "Hit!";
System.out.println(result);
return result;
} else if (guessVal < random) {
result = "Low!";
System.out.println(result);
return result;
} else if (guessVal > random) {
result = "High!";
System.out.println(result);
return result;
} else {
return "error";
}
}
public static void startGuessing() {
int i = 0;
do {
guess();
i++;
} while (result != "Hit");
System.out.println("That took you " + i + " guesses!");
}
//在下面编写guess()方法
公共静态字符串猜测(){
//创建新的扫描仪对象以接收用户输入
扫描仪sc=新的扫描仪(System.in);
System.out.println(“输入您的猜测”);
int guessVal=sc.nextInt();
字符串结果;
如果(猜测值==随机){
结果=“命中!”;
系统输出打印项次(结果);
返回结果;
}else if(猜测值<随机值){
结果=“低!”;
系统输出打印项次(结果);
返回结果;
}else if(猜测值>随机值){
结果=“高!”;
系统输出打印项次(结果);
返回结果;
}否则{
返回“错误”;
}
}
公共静态无效开始使用(){
int i=0;
做{
猜();
i++;
}而(结果!=“命中”);
System.out.println(“这让你”+i+“猜猜!”);
}
当测试抛出“无法解析符号”错误时,试图将结果传递给测试。我将继续搜索…提示:
public String guess()
谢谢,不过如果guess是一个字符串,我就无法将它与random进行比较,random是一个int?我仍在玩弄各种可能性。另外,我也不知道为什么有人把我的问题记下来了——但我指的是方法声明,而不是变量Hey all,所以最后我从inn中取出了代码er方法guess(),对其进行修改并在do-while循环中使用它,它似乎起到了作用。拥有一个方法guess()
,这不是要求的一部分吗?为什么不学习如何编写一个返回字符串的方法呢?