我的程序的目标有点像命运之轮,用户会猜出一个短语的字母。这些信件将被猜测出来。我刚刚开始,并在将一个字符返回到main方法时遇到问题。我知道有其他方法来制作这个节目,但是我的教授希望我们使用“getguess”方法。该方法应该用户输入并验证它是否为小写字符。由于某种原因,我无法弄清楚如何做到这一点。我已将我的程序复制到程序中。 谢谢,
import java.util.Scanner;
public class Program09 {
public static void main(String[] args) {
Scanner stdIn = new Scanner(System.in);
String phrase;
System.out.print("Enter a common phrase: ");
phrase=stdIn.next();
int sum=0;
getGuess(stdIn);
}
public static char getGuess(Scanner stdIn) {
char LetterGuess;
do{
System.out.println("Guess a letter: ");
LetterGuess=stdIn.next();
} while(isLowerCase(LetterGuess) == false)
return LetterGuess;
}
}
答案 0 :(得分:1)
在你的程序中,你将返回LetterGuess(应该以小写的L开头),但在主程序中你没有收到任何变量。
我认为你的第一步应该是使用类似的东西:
char c = getGuess(stdIn);
System.out.println(c);
对于初学者而言,您只需要在逻辑中进行更改以阅读多个猜测
答案 1 :(得分:0)
尝试以这种方式思考:方法是一些计算块,可选地接受一些输入并可选地返回一些输出。我们一直在使用现实生活中的方法:
if(washing machine is available){
washed_clothes = use_washing_machine(dirty_clothes)
wait(40 minutes)
dried_clothes = use_dryer(washed_clothes)
clean clothes = fold(dried_clothes)
}
因此,您要做的是在main
类中收集用户输入,然后将其传递给getGuess
方法,该方法将进行一些计算(检查它是否为小写),然后将值返回main
。如果您已了解Boolean
,则应从getGuess
返回{{1}}数据类型('true'或'false')。
答案 2 :(得分:0)
首先,您应该使用小写字母开始变量名称。 在您从控制台获取字符的行...
LetterGuess=stdIn.next();
返回一个String,所以你必须将它转换为char ...
letterGuess=stdIn.next().trim().charAt(0);
并且,在你的while条件下,行应该是......
Character.isLowerCase(letterGuess) == false
在main方法中,将返回的char保存在变量中,然后执行您想要执行的操作...