首页 > 解决方案 > 我想使用方法打印输出,但我无法打印它。为什么?

问题描述

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

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");
        }            
}

标签: java

解决方案


您的代码有几处有问题。

  1. 你的方法mn在你的班级之外。这是无效的。
  2. Strings 应该与equals
  3. 您的方法不接受任何参数,但在这种情况下需要一个参数。
  4. M,C并且I需要是String文字,否则 Java 可以将它们解释为不同的东西。
  5. 您实际上需要调用该方法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");
        }            
    }
}

推荐阅读