gpt4 book ai didi

Java数组: Making numbers into separated,排列的数字,输出问题

转载 作者:太空宇宙 更新时间:2023-11-04 07:19:01 25 4
gpt4 key购买 nike

我正在尝试创建一个代码,其中将采用如下数字:

"787191230"

并返回:

"0 1 1 2 3 7 7 8 9"

现在,我的错误是我的代码以某种方式正确打印出第一个,然后开始添加很多 0,我认为是这样的。每次增加的 0 数量似乎都在减少,但还是很烦人。

我的主要代码(一切都完成了):

import java.util.Arrays; 
import java.util.Scanner;
import java.io.File;
import java.io.IOException;
import static java.lang.System.*;

public class NumberSorter
{
static int count = 0;
private static int getNumDigits(int number)
{
while(number>0){

number=number/10;
count++;
}
return count;
}

public static int[] getSortedDigitArray(int number)
{
int[] sorted = new int[getNumDigits(number)];
for(int a = 0; a<sorted.length; a++)
{
sorted[a] = number%10;
number = number/10;
}
for(int a = 0; a<sorted.length; a++)
{
int y = a;
for(int b = a+1; b<sorted.length; b++)
{
if(sorted[b]<sorted[y])
{

y = b;
}
}
if(y != a)
{
int temp = sorted[y];
sorted[y]=sorted[a];
sorted[a]=temp;
}
}
return sorted;
}
}

测试用例代码(我尝试解码的所有数字都在其中):

public class NumberSorterRunner
{
public static void main(String args[])
{
int[] cases = {567891, 901912468, 864213507, 898777, 234422, 29826};
for( int test : cases )
{
int[] one = NumberSorter.getSortedDigitArray( test );
for(int item : one)
{
System.out.print(item + " ");
}
System.out.println();
}
}
}

最后但并非最不重要的一点:输出:

1 5 6 7 8 9 
0 0 0 0 0 0 0 1 1 2 4 6 8 9 9
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 8
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 7 7 8 8 9
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 3 4 4
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 6 8 9

任何帮助,主要是提示,都会让我非常感激!我不明白这有什么问题!提前致谢。

最佳答案

Yopu 已将 count 声明为静态,但您从未重置它,因此对于每个新测试,count 从前一个测试的最后一个值开始。

它不需要是静态的或可广泛访问的,因此只需将其移动到 getNumDigits() 函数中

试试这个:

private static int getNumDigits(int number)
{
int count = 0;
while(number>0){

number=number/10;
count++;
}
return count;
}

关于Java数组: Making numbers into separated,排列的数字,输出问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19580057/

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