-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

String如果您想接受带有空格(或任何其他连字符、括号等)的电话号码输入,请先将其读入。然后操纵字符串将其转换为可以表示 a 的东西,并从中long解析long出 a 。

但鉴于这是一个电话号码,您可能不会用它做任何数学运算,为什么不把它保留为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 回答
0

您必须将输入读取为字符串,验证其格式是否正确,然后删​​除空格(如果有的话)。使用正则表达式。

于 2013-11-06T02:03:31.420 回答