-1

「905 123 7023」のような整数を「9051237023」のようなものに変更するにはどうすればよいでしょうか。

割り当ては、入力された電話番号が実際の電話番号であるかどうかを判断することになっています。

私はこれを使用するつもりでした:

int phoneNumber;
// Code that turns number with spaces into single number
try {
  System.out.println("Please input an integer");
  input = TextIO.getlnInt();
}

catch (InputMismatchException exception) {
  System.out.println("This is not an phone number");
}

コードを判別するには

4

4 に答える 4

1
//import java.io.*;
//throws IOException 

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int phoneNumber;
try {
    System.out.println("Please input an integer");
    String input = br.readLine();
    phoneNumber=Integer.parseInt(input.replaceAll(" ",""));
}
于 2013-11-06T02:18:21.820 に答える
0

入力を文字列として読み取り、適切な形式であることを確認してから、スペースがある場合は削除する必要があります。正規表現を使用します。

于 2013-11-06T02:03:31.420 に答える
0

Stringスペース (またはその他のハイフン、括弧など) を含む電話番号の入力を受け入れたい場合は、最初に として読み込みます。次に、文字列を操作して を表現できるものに変換し、そこからlongを解析longします。

しかし、それが電話番号であり、おそらくそれを使用して計算を行うことはないことを考えると、単に ? のままにしておかないのはなぜStringですか?

于 2013-11-06T02:02:11.100 に答える
0

ユーザーが入力しようとしているデータは文字列になります (スペースや文字が含まれる可能性があるため)。

文字列からスペースを削除するには、いくつかの方法があります。

  1. split() と join() を使用して、スペースで分割し、スペースなしで結合します
  2. indexOf() を使用してスペースを見つけ、部分文字列を使用してそれらを削除し、スペースがなくなるまで繰り返します
  3. 文字列のすべての文字を繰り返し、スペース以外の文字から新しい文字列を作成します
  4. 正規表現を使用する
  5. replace() を使用します (@David Wallace に感謝 - 明白なものを完全に見落としていました)
于 2013-11-06T02:03:15.527 に答える