Possible Duplicate:
String index out of range: n문자열 지수는 7
나는 사용자의 입력 (처음, 중간, 마지막 이름)의 기반으로 사용자 이름을 생성하는 프로그램을 쓰고 있어요. 사용자 이름을 생성하기 위해 각 이름 (첫 번째, 중간 및 마지막)과 마지막 이름의 마지막 문자를 가져와야합니다. 나는 각 이름의 첫 번째 문자를 생성하는 프로그램을 성공적으로 작성했지만, 마지막 이름의 마지막 문자를 생성하도록 프로그램을 만들려고하면이 오류가 발생합니다.
스레드 "main"java의 예외 .lang.StringIndexOutOfBoundsException : 범위를 벗어 문자열 인덱스 : 사전에
import java.util.Scanner;
/**
UsernameGenerator.java
Generates a username based on the users inputs.
@author: Evan Fravert
*/
public class UsernameGenerator {
/**
* Generates a username based on the users inputs.
*@param args command line argument
*/
public static void main(String[] args)
{ // abcde
String first;
String middle;
String last;
String password1;
String password2;
int randomNum;
randomNum = (int) (Math.random() * 1000) + 100;
Scanner userInput = new Scanner(System.in);
System.out.println("Please enter your first name:");
first = userInput.nextLine();
String firstLower = first.toLowerCase();
System.out.println("Please enter your middle name:");
middle = userInput.nextLine();
String middleLower = middle.toLowerCase();
System.out.println("Please enter your last name:");
last = userInput.nextLine();
int lastEnd = last.length();
String lastLower = last.toLowerCase();
System.out.println("Please enter your password:");
password1 = userInput.nextLine();
System.out.println("Please enter your password again:");
password2 = userInput.nextLine();
char firstLetter = firstLower.charAt(0);
char middleLetter = middleLower.charAt(0);
char lastLetter = lastLower.charAt(0);
char lastLast = lastLower.charAt(lastEnd);
if (first == null || first.length() <= 0) {
firstLetter = 'z';
}
else {
firstLetter = firstLower.charAt(0);
}
System.out.println("Your username is " + firstLetter + ""
+ middleLetter + "" + lastLetter + "" + "" + lastLast + "" + randomNum);
System.out.println("Your password is " + password1);
System.out.println("Welcome " + first + " " + middle + " " + last + "!");
}
}
감사 : 7
다음at java.lang.String.charAt(String.java:658)
at UsernameGenerator.main(UsernameGenerator.java:39)
내 코드입니다!
: http://stackoverflow.com/q/9020859/ 422353 – madth3