【发布时间】:2018-05-09 18:18:02
【问题描述】:
作为一个学校项目,我被要求制作一个程序,显示您输入的姓名的缩写(例如。对于 Akshat Abhay Shetye,它将显示 A. A. Shetye)。
这在我的学校 PC 上运行良好,它运行旧的 bluej 和 Java,但在运行时抛出错误(StringIndexOutOfBoundsException:字符串索引超出范围)。 这是我的程序:
import java.util.*;
import java.lang.*;
public class dispInitials{
public static void main (String args[]){
Scanner sc = new Scanner(System.in);
System.out.println("Enter your full name");
String name = sc.next();
//name = name.trim();
String inName= name.charAt(0)+". ";
int i = 1;
for(i=1;i<(name.length()-1);i++){
if(Character.isWhitespace(name.charAt(i)))
break;
}
i++;
inName=inName+name.charAt(i)+". ";
for(i=i;i<name.length();i++){
if(Character.isWhitespace(name.charAt(i)))
break;
}
i++;
System.out.println("The name is "+inName);
}
}
谁能解释错误(第 16 行)?
【问题讨论】:
-
i=i一定是错字。