我想使用方法打印输出,但是我无法打印它。为什么?

时间:2019-05-06 16:13:54

标签: java

这是我的代码。 我认为我的错误是该方法代码。

import java.util.Scanner;

public class Question1 {

    public static void main (String[]args){
        String major;
        Scanner read = new Scanner (System.in);
        System.out.print("Enter character : " );
        major=read.next();


    }
}
     public static void mn(){ //method 

        if (major==M){ 
            System.out.println("Mathematic");
        }
        else if (major==C){ 
            System.out.println("Computer Science");
        }
        else if (major==I){ technology
            System.out.println("Information Technology");
        }
        else {
            System.out.println("Invalid Input");
        }            
}

2 个答案:

答案 0 :(得分:4)

您的代码有些错误。

  1. 您的方法mn位于类之外。这是无效的。
  2. String应该与equals
  3. 进行比较
  4. 在这种情况下,您的方法不带任何参数,但需要一个参数。
  5. MCI必须是String文字,否则Java可以将它们解释为不同的东西。
  6. 您实际上需要调用方法mn来查看其输出。

总而言之,您的代码应如下所示

import java.util.Scanner;

public class Question1 {

    public static void main (String[]args){
        String major;
        Scanner read = new Scanner(System.in);
        System.out.print("Enter character : " );
        major=read.nextLine(); // better nextLine, because otherwise the press of "Enter" will not be registered.
        mn(major);
    }

    public static void mn(String major){ //method 

        if (major.equals("M")){ 
            System.out.println("Mathematic");
        }
        else if (major.equals("C")){ 
            System.out.println("Computer Science");
        }
        else if (major.equals("I")){
            System.out.println("Information Technology");
        }
        else {
            System.out.println("Invalid Input");
        }            
    }
}

答案 1 :(得分:-1)

您在主函数中没有对mn()的任何调用,因此该函数内的代码将无法运行。将以下行添加到主函数的末尾以使mn()函数运行,并在mn()函数声明的括号内添加“ String major”:

mn(主要);

我希望这会有所帮助!