不兼容的类型错误,Java

时间:2013-09-18 20:20:41

标签: java methods error-handling java.util.scanner bluej

我在弄清楚为什么一直出现“不兼容的类型”错误时遇到了一些麻烦,所以这是我的示例代码(注意:这是一个介绍性的Java编码课程,老师有一个我们需要遵循的特定格式。)主要目标是使用单独的方法来获取Madlib的名词,形容词和动词,并将它们返回到主要方法的全部故事。

public class MadLib{

//First, I will want to set my named constants

public static final Scanner keyboard = new Scanner(System.in);

public static void main(String [] args){

    System.out.println("Hello there! Welcome to my MadLib!");
    System.out.println("Before we start, we need some words!");
    String n1   = getNoun();
    String n2   = getNoun();
    String a1   = getAdj();
    String a2   = getAdj();
    String v1   = getVerb();
    String ving = getVing();

}

private static void getNoun(){

    System.out.println("Please enter a noun!");
    noun = keyboard.nextLine();
    return noun;

感谢您查看!我希望有一个人可以帮助我。我认为问题是我不确定如何从Scanner实用程序返回一个字符串。请,任何帮助都可以。谢谢!

3 个答案:

答案 0 :(得分:1)

您无法从String返回类型的方法返回void。如果要从方法返回字符串,则方法返回类型应为String
getNoun()方法的返回类型更改为String并直接返回keyboard.nextLine();

private static String getNoun(){    
    System.out.println("Please enter a noun!");
    return keyboard.nextLine();
}

答案 1 :(得分:0)

您必须从方法返回一个String。使用private static void getNoun()

更改private static String getNoun()

答案 2 :(得分:0)

更改: -

private static void getNoun(){

private static String getNoun(){
               ^Here