我希望我的代码打印数组中最大和最小的数字。为什么这不起作用?

时间:2017-07-10 16:16:40

标签: java

public class Numbers {

public static void main(String[] args) {
    // TODO Auto-generated method stub

    int w[] = new int[] { 5, 4, 3, 2, 3 };
    int max = 0;
    int min = 0;

    for (int i = 0; i < w.length; i++) {
        if (w[i] > w[i]++) {
            w[i] = max;
        }

        for (int j = 0; j < w.length; j++) {
            if (w[j] < w[j]++) {
                w[j] = min;
            }

            System.out.println(min + max);
           }

       }
   }
}

我得到的所有输出都是:

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

为什么它甚至多次打印0?

1 个答案:

答案 0 :(得分:1)

你永远不会改变最小或最大。在你的循环中你改变了数组。当你设置w [i] = max时,你将项目放在第i位= 0(这是你初始化的最小值和最大值。)

将订单更改为

max=w[i]

min=w[i]

至于为什么多次打印,你的for循环中有print语句,将print语句移到for循环之外

我还会将print语句更改为

System.out.println("Max= " + max + "Min= " + min) 

只是让结果更清晰