gpt4 book ai didi

java - 在java中提升数字的字符串输入

转载 作者:行者123 更新时间:2023-11-29 04:44:57 24 4
gpt4 key购买 nike

我正在开发一个程序,用户可以在其中输入随机数,当用户输入 -1 时,循环将中断并显示输入的数字

  Example:
Enter a Number: 32

Enter next Number: 1243

Enter next Number: 123

Enter next Number: 76

Enter next Number: -1

Thank You. You have entered 32, 1243, 123, 76

现在无论输入什么数字,它都会按升序显示

 ----Ascending order -----
[32,76,123,1243]

现在我已经完成了以下操作,但要获得用户需要输入的准确结果

 ->0032

->0076

->0123

->1243

然后我得到准确的结果

    [0032, 0076, 0123, 1234]

然后只有我的排序工作正常,否则就像

      [ 123, 1243, 32, 72]

现在如何解决这个问题?

package Testx;

import java.util.Arrays;
import java.util.Scanner;

public class Test7Ctr{

public static void main(String[] args)
{
// TODO Auto-generated method stub
Scanner user = new Scanner(System.in);
String user_input = "";
String holdv="";
String holdvx="";
String ascend="";
//AsveNd(user_input);

try
{
int b =0;

do
{
System.out.print("Enter next number:");
user_input = user.nextLine();
int x= Integer.valueOf(user_input);

if (x != -1)
{
holdv=user_input;
holdvx+=holdv+",";
ascend+=holdv+" ";
b++;
}

else
{

System.out.println("THANK YOU FOR ENTERING= "+holdvx);
break;
}
}
while(b <= 100);
{

}

String[] numbers=ascend.split("\\s");
for(String numb:numbers)
{
int intarray[] = new int[numbers.length];
Arrays.sort(numbers);
//break;
}
System.out.println("---Ascending order---");
System.out.println(Arrays.toString(numbers));

}
catch(Exception e)
{

}

}
}

最佳答案

您正在对字符串而不是数字进行排序。这使得您的排序按字典顺序而不是简单的升序进行。因此,要解决您的问题,只需添加 Integer 而不是 String。您甚至可以使用 Integer.parseInt()String 解析为 Integer

此外,无需每次插入新号码时都调用sort,最后只需调用一次。这会给您的流程增加很多开销。

关于java - 在java中提升数字的字符串输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37561226/

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