将char返回main方法

时间:2013-12-10 02:54:53

标签: java eclipse string methods char

我的程序的目标有点像命运之轮,用户会猜出一个短语的字母。这些信件将被猜测出来。我刚刚开始,并在将一个字符返回到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;
     }

}

3 个答案:

答案 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保存在变量中,然后执行您想要执行的操作...