如果输出为0,如何打印数组?



我解决了这个问题,它工作得很好,但这是一个小问题,如果射线只包含一个数字或相同的数字,它会返回 0,但我想要那个数字。我的代码:

public class RaySmallest
{
public static int go(int[] ray)
{
int smallest = 0;
for(int i =0;i<ray.length;i++) 
{
if(smallest > ray[i]) 
{
smallest = ray[i];
}
} 
return smallest;
}
}

代码的运行程序

class Main
{
public static void main(String[] args)
{
RaySmallest rt = new RaySmallest();
System.out.println( rt.go( new int[]{-99,1,2,3,4,5,6,7,8,9,10,12345} ) );
System.out.println( rt.go( new int[]{10,9,8,7,6,5,4,3,2,1,-99} ) );
System.out.println( rt.go( new int[]{10,20,30,40,50,-11818,40,30,20,10} ) );
System.out.println( rt.go( new int[]{32767} ) );
System.out.println( rt.go( new int[]{255,255} ) );
System.out.println( rt.go( new int[]{9,10,-88,100,-555,1000} ) );
System.out.println( rt.go( new int[]{10,10,10,11,456} ) );
System.out.println( rt.go( new int[]{-111,1,2,3,9,11,20,30} ) );
System.out.println( rt.go( new int[]{9,8,7,6,5,4,3,2,0,-2,-989} ) );
System.out.println( rt.go( new int[]{12,15,18,21,23,1000} ) );
System.out.println( rt.go( new int[]{250,19,17,15,13,11,10,9,6,3,2,1,-455} ) );
System.out.println( rt.go( new int[]{9,10,-8,10000,-5000,1000} ) );
}
}

就像第四行一样,我的代码给我 0,但我需要那里的输出为 32767。

我需要这个答案。

-99
-99
-11818
32767
255
-555
10
-111
-989
12
-455
-5000

谢谢

如果最小数字大于零,则实际上没有设置数字,这就是为什么如果您只有一个,则不会获得最小数字,这可能低于零。

public static int go(int[] ray) {
int smallest = ray.length > 0 ? ray[0] : -1;
for (int value : ray) {
if (smallest > value) {
smallest = value;
}
}
return smallest;
}

好的,这是你代码的一部分:

int smallest = 0;
for(int i =0;i<ray.length;i++) 
{
if(smallest > ray[i]) 
{
smallest = ray[i];
}
} 
return smallest;

从本质上讲,这告诉我,最小是 0。你比较 0>射线[i],第 4 行是 32767。0 不大于 32767,因此最小仍等于 0 并返回为 0。

int smallest = 0;
int[] numArray = new int[ray.length];
for(int i=0;i<ray.length;i++)
{ 
if(ray.length == 1)
return ray[i];
if(smallest > ray[i])
smallest = ray[i];
if(ray[i] == ray[ray.length - 1] && i-ray.length > 0 && i==ray.length-2){
int x = 0;
for(int x=0;x<ray.length-1;x++){
if(ray[i] != ray[x])
break;
}
if(ray[i] == ray[x])
return ray[i];
}
}
return smallest;

此解决方案应注意数组中具有单个值,或者数组中的所有值是否相等。

最新更新