gpt4 book ai didi

java - 我不知道为什么当我尝试在 java 中格式化用户的电话号码时,我总是收到奇怪的反馈。

转载 作者:行者123 更新时间:2023-12-04 06:12:29 25 4
gpt4 key购买 nike

每当我输入电话号码时,下面我编写的用于格式化用户电话号码的程序会返回我什至根本没有输入的奇怪号码。有人可以向我解释为什么我会收到如此奇怪的错误吗?

我想要它,所以当有人输入 12345678978 时,它会格式化为 1-234-567-8978
如果他们输入 2345678978 它将格式化为 234-567-8978
如果他们输入 5678978,它将更改为 567-8978。
我总是得到奇怪的数字,有时甚至不是我输入的数字
12345678978 我收到 144-34--567-
2345678978 我接 153-567-8978
5678978 我接 162-8978

我真的很感激一些帮助。谢谢。

    import java.util.Scanner;

public class Test3 {
public static void main(String[] args) {
Scanner y = new Scanner(System.in);
String phoneNumber;
int phoneNumberLength;
System.out.print
("Please enter your phone number WITHOUT spaces or dashes: ");
phoneNumber = y.nextLine();
phoneNumberLength = phoneNumber.length();
if (phoneNumberLength == 11) {
phoneNumber = phoneNumber.charAt(0) + "-" + phoneNumber.charAt(1)
+ phoneNumber.charAt(2)
+ phoneNumber.charAt(3)
+ "-" + phoneNumber.charAt(4) + phoneNumber.charAt(5)
+ phoneNumber.charAt(6)
+ "-" + phoneNumber.charAt(7) + phoneNumber.charAt(8)
+ phoneNumber.charAt(9)
+ phoneNumber.charAt(10);
}
if (phoneNumberLength == 7) {
phoneNumber = phoneNumber.charAt(0) + phoneNumber.charAt(1)
+ phoneNumber.charAt(2)
+ "-" + phoneNumber.charAt(3) + phoneNumber.charAt(4)
+ phoneNumber.charAt(5) + phoneNumber.charAt(6);
}
else {
phoneNumber = phoneNumber.charAt(0) + phoneNumber.charAt(1)
+ phoneNumber.charAt(2)
+ "-" + phoneNumber.charAt(3) + phoneNumber.charAt(4)
+ phoneNumber.charAt(5)
+ "-" + phoneNumber.charAt(6) + phoneNumber.charAt(7)
+ phoneNumber.charAt(8)
+ phoneNumber.charAt(9);
}
System.out.println("So your phone number is " + phoneNumber + "?");
}

顺便一提。我知道它的格式不正确,但我对 stackoverflow 如何允许您添加代码感到非常困惑。

最佳答案

任何以这样开头的字符串:

number = number.charAt(0) + number.charAt(1) + ...

会导致问题,因为您添加了两个 char类型在一起。这被视为整数算术,而不是字符串连接。将子串加在一起会好很多,这样操作符是字符串连接,而不是整数加法。
number = number.substring(0, 3) + '-' + number.substring(3, 6) + ...

关于java - 我不知道为什么当我尝试在 java 中格式化用户的电话号码时,我总是收到奇怪的反馈。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7617461/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com