사용자가 임의의 6자를 입력 할 수있게 해주는 프로그램으로이 문자를 순서대로 정렬합니다. Ex 사용자 입력 j, d, e, l, w, q 및 프로그램 출력 d, e, j, l, q, w.정렬 방법을 통해 문자열을 구성하는 방법
불행히도 코드가 괴롭혀서 물건을 분류하지 않습니다. 참고 : 나는 공중에서 GUI를
를 사용하고 나는 그들이 "addButton"를 눌러 클래스 결국 모든 입력 된 문자가 포함 된 TextField의 편지에서 사용자가 입력 한 후
class Abc {
String letter;
Abc (String _letter) {
letter = _letter;
}
}
ArrayList <Abc> alphabet = new ArrayList <Abc>(3); //note its 3, not 6 like in the example
을 수용 할 수있는 배열을 만든 배열에 값을 추가하고 저장합니다.
String letter = letterField.getText();
//Store values in array
Abc a = new Abc(letter);
alphabet.add(a);
이제 실제 '정렬'부분입니다. 사용자가 "재생"버튼을 누르면 발생합니다.
String[] abc = new String[3]; //LINE I FORGOT TO ADD
for (int k = 0; k < abc.length; k++) {
abc[k] = letterField.getText();
int x;
for (int i = 0; i < abc.length; i++) {
// Asume first value is x
x = i;
for (int j = i + 1; j < abc.length; j++) {
//find smallest value in array (random)
if (abc[j].compareToIgnoreCase(abc[x]) < 0) {
x = j;
}
}
if (x != i) {
//swap the values if not in correct order
final String temp = abc[i];
abc[i] = abc[x];
abc[x] = temp;
}
textArea.append(abc[i] + "\n");// Output correct order
}
}
내가 원래 정수를 정렬하는이 코드를 사용했다, 그 프로그램이 프로그램 사이의 유일한 차이는 INT/문자열 내가 현재 일하고이 하나 인 문자 입력에 사용자를 허용하고 프로그램 수행 정수 프로그램에서했던 것처럼 무작위로 추출하지 마십시오.
나는 이것이 속임수를 쓰고 글자를 정리하는 데 충분한 코드라고 생각했지만 외관상으로는 아닙니다. I 입력 문자와 배열 키를 누릅니다에 추가는 "플레이"프로그램 괴물과 사랑스러운 오류가 팝업 실제로 문제에 대한
, ...
Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: "d"
참고 : 'D'인 내가 프로그램을 테스트 한 마지막 시간 동안 입력 한 마지막 편지 ... 5 초 전.
힌트 나 조언을 주시면 감사하겠습니다.
힌트 : 구글'NumberFormatException'. 그리고 줄 번호를 확인하십시오. – keyser
당신의 에러는 코드에서 보여줄 수 없습니다. 그리고 u는 for 루프를 항상 같은 값으로 설정하고 있습니다.'abc [k] = letterField.getText();'그리고 null을 가진 ur 배열을 선언했을 경우 nullPointerException을 던질 것입니다. .. – nachokk