gpt4 book ai didi

java - 查看索引是否为负数

转载 作者:行者123 更新时间:2023-12-01 16:53:47 33 4
gpt4 key购买 nike

我正在为我的结构化编程类(class)编写一个程序,我们必须获取一个输入字符串,将其分成 3 个子字符串,然后检查所有三个名称是否都存在。我已将字符串在空格处断开,现在我只需要检查是否有三个空格。我的教授告诉我们,我们必须确保每个名字之间有一个空格。他告诉我简单地测试一下空格字符的索引是否为-1,因为如果是-1,空格就不会在那里。我只是找不到一种方法来测试它而不出现“字符串索引超出范围”错误。任何帮助将非常感激。这是我用来测试输入字符串的代码。

System.out.println("Enter filer full name (First Middle Last):");
Scanner input = new Scanner(System.in);
String fullName = input.nextLine();
int n = fullName.indexOf(' ');
int m = fullName.indexOf(' ', n + 1);
String firstName = fullName.substring(0, n);
String middleName = fullName.substring(n + 1, m);
String lastName = fullName.substring(m + 1);

最佳答案

在获取子字符串之前,请使用 if(n >-1 && m > -1) 判断是否有空格。你的新代码看起来像这样

System.out.println("Enter filer full name (First Middle Last):");
Scanner input = new Scanner(System.in);
String fullName = input.nextLine();
int n = fullName.indexOf(' ');
int m = fullName.indexOf(' ', n + 1);
if(n>-1&&m>-1){
String firstName = fullName.substring(0, n);
String middleName = fullName.substring(n + 1, m);
String lastName = fullName.substring(m + 1);
}else{
System.out.println("Don't have spaces!");
}

关于java - 查看索引是否为负数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35643675/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com