public static void main(String[]args){
Scanner scanner=new Scanner(System.in);
String str=scanner.next();
if(str.equals(str)|| str==null)
System.out.print(true);
else{
System.out.print(false);
}
}
题目要求:输入一个字符串str,判断是否为空。如果为空打印true,否则打印false
如果str为空你直接.equals就会报错,只写null == str 就可以
改成这样试试看:
public static void main(String[]args){
Scanner scanner=new Scanner(System.in);
String str=scanner.next();
if(str==null || str.equals(''))
System.out.print(true);
else{
System.out.print(false);
}
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String str = scanner.next();
if(str!=null&&str.length()>0){
System.out.println("您输入的不为空,值为:"+str);
System.out.print(true);
}else{
System.out.println("您输入的值为空");
System.out.print(false);
}
}
if(str.equals(str)|| str==null) 这一行 第一个判断绝对会为true 所以不管怎么样都是打印true
把next()换成nextLine()
上面那个兄弟说的很对,把next()换成nextLine()(来源:404警告),你之前的程序输入不了空格和null; if(str.equals(str)|| str==null)这句代码的意思是,str等于str或者str等于null
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
String str=scanner.nextLine();
System.out.println("str = " + str);
if(null == str || " ".equals(str)){
System.out.print(true);
}else{
System.out.print(false);
}
}
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
String str=scanner.nextLine();
if("".equals(str)){
System.out.print(true);
}else{
System.out.print(false);
}
}