给定一组数组,它具有不同的值。我必须按升序显示一系列数字
(例如)
如果输入
{45,50,55,60,45,40,50,55}
然后输出应为
{45,50,55,60,40,50,55}
我的代码
public static void main(String[] args) {
int[] values = { 45, 50, 55, 60, 45, 40, 50, 55 };
for (int i = 0; i < values.length-1; i++) {
if(values[i]<values[i+1]){
System.out.println(values[i]);
}
}
}
它将输出显示为 {45,50,55,40,50} 。第4个元素 60 ,最后一个元素 55 未显示我的逻辑。
任何人都可以帮助更改此逻辑以显示正确的输出吗?
输出应该是 的 {45,50,55,60,40,50,55}
答案 0 :(得分:2)
根据您的输出,只需编辑您的代码,如下所示:
public static void main(String[] args) throws Exception {
int[] values = { 45, 50, 55, 60, 45, 40, 50, 55 };
int temp = 0; // create a temp variable
for (int i = 0; i < values.length; i++) {
if(values[i] > temp){// if satisfied; print
System.out.print(values[i]+", ");
temp = values[i];
} else {// else prepare for next loop
temp = 0;
}
}
}
输出:
45, 50, 55, 60, 40, 50, 55,
答案 1 :(得分:1)
这应该有效
++
答案 2 :(得分:0)
您实际做的是将当前值与下一个值进行比较并打印较小的值 所以 [1,4,5,8] 实际上会有效 但是 [4,8,5,7] 不会,因为你只会比较 4 和 8 打印 4 强>然后 8 和 5 打印 5 和 7 打印 5 。结果: [4,5] 。
您需要做的是首先按升序对数组进行排序,然后像任何数组一样显示它 有很多方法可以对数组进行排序,请参阅Bubble sort算法,或者您可以找到自己的方法对它们进行排序。