Scanner.equals()返回在任何情况下
问题描述:
package harry;
import java.util.Scanner;
public class harry {
public static void main(String[] args) {
String Harr = ("Harry");
Scanner name = new Scanner(System.in);
System.out.println("Enter your name");
name.nextLine();
if(name.equals("Harry")) {
System.out.println("She hates you");
} else if (name.equals("Nick")) {
System.out.println("She loves you");
}
}
}
在这段代码错误,我试图写:Scanner.equals()返回在任何情况下
- 如果名称是“哈利”,它应打印“她恨你”
- 如果名字是“尼克”,它应打印“她爱你”
然而,当我写下这些名字中的任何一个,它不会显示任何信息。
答
扫描仪使用的方式有点不同:
package harry;
import java.util.Scanner;
public class harry {
public static void main(String[] args) {
String Harr = ("Harry");
Scanner input = new Scanner(System.in);
System.out.println("Enter your name");
String name = input.nextLine();
if(name.equals("Harry")) {
System.out.println("She hates you");
} else if (name.equals("Nick")) {
System.out.println("She loves you");
}
}
}
答
试试这个尼克·尼古拉斯它工作时,我尝试:
import java.util.Scanner;
public class harry {
public static void main(String[] args) {
String Harr = ("Harry");
String s;
Scanner name = new Scanner(System.in);
System.out.println("Enter your name");
s = name.nextLine();
if(s.equals("Harry")) {
System.out.println("She hates you");
} else if (s.equals("Nick")) {
System.out.println("She loves you");
}
}
}
答
name.nextline的值分配给一个字符串,然后做条件检查
的代码将是这样的:
String n= name.nextLine();
if(n.equals("Harry")) {
System.out.println("She hates you");
} else if (n.equals("Nick")) {
System.out.println("She loves you");
}
非常感谢你,你是最棒的! – 2015-03-25 12:28:23
@NickNicholas如果有效,请将该答案标记为已接受。 – Xufox 2015-03-25 12:44:19