숫자의 사용자 입력을 허용 한 다음 ArrayList에 추가 한 다음 여러 가지 방법으로 데이터를 조작해야하는 프로그램을 만들어야합니다. 숫자가 0보다 크거나 같아야합니다. 사용자 입력을 ArrayList에 추가하는 데 문제가 있습니다. try 및 catch 문을 사용하면 프로그램이 중단되는 것을 막을 수 있지만 ArrayList에 아무 것도 추가 할 수 없습니다. 내가 추가 과정에서 잘못하고있는거야? 당신은 다음과 같은 유형의 NumberFormatException
던질 것이다 Integer.parseInt(valueInput.getText())
를 호출하기 전에 null
(valueInput.setText(null)
포함)에 valueInput
의 텍스트를 설정하기 때문입니다Java에서 배열에 정수 추가
import java.util.ArrayList;
import java.util.Collections;
public class SumElements extends javax.swing.JFrame {
ArrayList <Integer> values = new ArrayList();
...
private void addButtonActionPerformed(java.awt.event.ActionEvent evt) {
try
{
//clear outputArea
outputArea.setText(null);
valueInput.setText(null);
outputLabel.setText(null);
//declare variables
int value = Integer.parseInt(valueInput.getText());
//validate input
if (value >= 0){
//add item to array
values.add(value);
//display values
Collections.sort(values);
for (int i = 0; i < values.size(); i++)
{
outputArea.setText(outputArea.getText() + values.get(i) + "\n");
}
}
}
//set default
catch (NumberFormatException a)
{
outputLabel.setText("Please input a valid number.");
}
}
당신은 먼저'valueInput'의 텍스트를'null'로 설정 한 다음 그것을 읽습니다 - 당신은 결과로 무엇을 기대 했습니까? – UnholySheep