0

ピアソナルプロジェクトで作業している描画プログラムを実行すると、次のエラーが発生します。

Exception in thread "main" java.lang.NumberFormatException: For input string: "100,"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at InputExample.main(InputExample.java:35)

エラーの意味はわかっていますが、Javaの学習を始めたばかりなので、100%修正する方法はありません。これまでの私のコードは次のとおりです。

import java.util.Scanner;

public class Input {

    public final static void main(String[] args) {

        GraphicsScreen g = new GraphicsScreen();
        Scanner s = new Scanner(System.in);
        int param1 = -1;
        int param2 = -1;
        String line;
        String command;
        String[] sut;
        System.out
                .println("Please enter your commands here. A list of commands is below to help you get started.");

        do {
            System.out.println("Circle, Move, Draw");
            line = s.nextLine();
        } while(line.equalsIgnoreCase("help") == true);

        sut = line.split(" ");

        command = sut[0];

        if(sut.length > 1) {
            param1 = Integer.parseInt(sut[1]);

            if(sut.length > 2) {
                param2 = Integer.parseInt(sut[2]);
            }
        }

        if(command.equals("Move") == true) {
            g.move(param1, param2);
        }
        else if(command.equals("Draw") == true) {
            g.draw(param1, param2);
        }
        else if(command.equals("Circle") == true) {
            g.circle(param1);
        }
        else {
            System.out
                    .println("The commands you have entered are invalid. Please try again.");
        }
    }
}

そこで、整数を数値に変換し、それらをIFステートメントに渡して、画面に図形を描画しました。エラーメッセージは本当に単純なものだと思います。

4

1 に答える 1

2

分割の区切り文字にコンマを含める必要があるようです-そしておそらく次を使用してオプションのコンマにします?:

sut = line.split(",? ");

もう 1 つの方法は、解析する前にコンマを削除することです。

sut[1] = sut[1].replaceAll(",$", "")
于 2012-10-29T12:50:59.547 に答える