无效的.空白空间绳子在Java中



在以下代码中:

import java.util.*; 
 public class test{     
     public static void main(String[] args){             
         System.out.println("".length());     
     }
 }

输出为0。

但在以下代码中:

import java.util.*;
public class test{
    public static void main(String[] args){
        System.out.println("Please enter a string: ");
        Scanner stdin = new Scanner(System.in);
        String st = stdin.next();
        System.out.println(st.length());
        System.out.println(st.equals(""));
    }
}

当我输入"或一个空字符串时,输出为:

2
false

我将std.next()更改为std.nextLine(),但输出相同。

当我将System.out.println(st.equals(""));更改为System.out.println(st.equals(" "));时然后我输入"或空间输出为:

1
false

为什么?

输入 ""是两个字符,这就是为什么您获得长度2和 ""不等于一个空字符串的原因。至于第二种情况,当您输入" "时,您的长度为1,因为String::next()只能读取用户输入直到空间。它无法读取两个被空间隔开的单词,并且再次不等于一个空字符串。要得出结论,当使用String::next()时,您无法输入空字符串,甚至没有装满Whitespaces的字符串。您需要使用String::nextLine()

在读取用户输入时,我们不表示空字符串为""一个空字符串是一个字符串,其长度为零

相关内容

  • 没有找到相关文章

最新更新