新手问题,但我有这个代码:
import java.util.*;
import java.io.*;
public class Welcome1
{
// main method begins execution of Java application
public static void main( String[] args )
{
String confirm = "y";
while(confirm=="y")
{
System.out.println( "Welcome to Java Programming!" );
System.out.println( "Print Again? (y/n)" );
Scanner input = new Scanner(System.in);
confirm = input.nextLine();
}
}
}
当用户在询问时输入“y”时,我只需要再次打印欢迎消息。
但这不起作用。有任何想法吗?
在 Java 中,使用以下方法比较基本类型(int、long、boolean 等)是否相等==
,而对象类型(字符串等)则使用equals()
方法。如果您使用比较两个对象类型==
,您正在检查identity,而不是相等 - 也就是说,您将验证两个对象是否在内存中共享完全相同的引用(因此是同一个对象);一般来说,您需要的只是验证他们是否values是相同的,为此你使用equals()
.
作为一种良好的编程实践,最好像这样比较字符串,翻转字符串的顺序:
while ("y".equals(confirm)) {
通过这种方式,您可以确定比较会起作用,即使confirm
为空,避免了潜在的NullPointerException
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)