1

スキャナーの使用中にハイフンを無視する簡単な方法はありますか? エリア (2D 配列) を購入できるプログラムがあるので、ユーザーがエリア 3 ~ 6 を購入したい場合、スキャナーで行のハイフンの前に数字を入れ、列の後に数字を入れます。これを行う簡単な方法はありますか?

String[][] buyer = new String[10][15];
int row;
int column; 
System.out.print("Specify which area you want to buy: ");
row = scan.nextInt();
column = scan.nextInt();

String name;
System.out.print("Name of the buyer: ");
name = scan.nextLine();
buyer[row][colum] = name
4

4 に答える 4

1

入力が常にこの形式 (num1-num2) である場合は、次を使用できます。

String area = scan.next();
StringTokenizer st = new StringTokenizer(area);
st.split("-");
int row = Integer.parse(st.nextToken());
int col = Integer.parse(st.nextToken());
于 2012-09-20T07:15:38.273 に答える
0

Scanner.skipを使用できると思います

row = scan.nextInt();
scan.skip("-");
column = scan.nextInt();
于 2012-09-20T07:23:37.907 に答える
0

個人的には文字列として読み、それを使用String.split()して2つの値に分割し、それをintに解析できます。ただし、他のオプションがある場合があります。

于 2012-09-20T07:18:45.117 に答える
0

Scanner には悪い面と良い面があります。悪い面は、次の文字が何かわからないと機能しないことです。

使用できます。Scanner.hasNextInt()これが true でない場合は、char unto の read charhasNextIntが true です。

于 2012-09-20T07:21:56.843 に答える