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");
}
}
解决方案
您的代码有几处有问题。
- 你的方法
mn
在你的班级之外。这是无效的。 String
s 应该与equals
- 您的方法不接受任何参数,但在这种情况下需要一个参数。
M
,C
并且I
需要是String
文字,否则 Java 可以将它们解释为不同的东西。- 您实际上需要调用该方法
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");
}
}
}
推荐阅读
- ruby-on-rails - 在数组字段中追加而不是在嵌套属性中覆盖的最佳方法
- shell - 使用条件合并 awk/unix 中重复列的行
- javascript - 在 contenteditable 中插入一个 span,然后用户无法在刚刚插入的 span 之后继续输入
- java - 根据控制我们代码质量的工具,Spring bean 不是线程安全的
- firebase - 如何确保用于视觉图像的 Firebase ML 套件为应用中的每个新面孔生成新的面孔 ID?
- php - Symfony 进度条 - 简单的绿色(如
)? - python - 为什么 x 坐标是时间戳列表,鼠标移动(悬停)时不显示为 matplotlib 中的坐标?
- javascript - JavaScript打印数组结果在同一个文件中
- java - Google People API - 如何删除联系人的文字生日?
- java - JaxbAnnotationIntrospector ClassNotFound 在第一次调用