请帮助我,以正确回答以下问题。我已经用自己的小经验回答了这个问题,但是并没有完全回答这个问题。
14.8(标记电话号码)编写一个应用程序,以(555)555-5555的形式输入电话号码作为字符串。应用程序应使用String方法split来提取区号作为令牌,将电话号码的前三位数字作为令牌,并提取电话号码的后四位数字作为令牌。电话号码的七位数应串联成一个字符串。应该同时打印区号和电话号码。请记住,您必须在标记化过程中更改定界符。
import java.util.Scanner;
public class Tokenizing
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
System.out.print("Enter Phone Number: ");
int num = input.nextInt();
String val = String.valueOf(num);
String[] san = val.split("");
for(int i = 0; i < san.length; i++)
{
System.out.print(san[i]);
if(i == 2)
System.out.print("-");
}
}
}
答案 0 :(得分:0)
这可能有用,除了您不能将字符串读取为整数:如果输入parens等会出现运行时错误。您将必须修复输入逻辑。 您需要执行2个拆分方法。
import java.util.Scanner;
public class Tokenizing
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
System.out.print("Enter Phone Number: ");
int num = input.nextInt();
String val = String.valueOf(num);
String[] san = val.split(" "); // Split on the space
// san[0] now has the area code, with the parens
String areaCode = san[0].substring(1, 4);
// areaCode now has the area code with parens removed
// san[1] now has the xxx-yyyy part
String[] san1 = san[1].split("-");
// san1[0] now has the xxx part
// san1[1] now has the yyyy part
}
}