为了账号安全,请及时绑定邮箱和手机立即绑定

问题在代码倒数第四行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package HelloWorld;
public class demo1 {
    public static void main(String[] args) {
         
        // 创建对象,对象名为hello
       int arr[]={99,-23,64,91,119,52,92};
       demo1 ss=new demo1();
       ss.thr(arr,3);
    }
    public void thr(int arr[],int s)
    {
        for(int j=0;j<arr.length;j++) 
        //由于我使用的版本不能导入Arrays,所以自己写了个排序使用
            {
            for(int i=0;i<arr.length;i++)
                {
                    int tmp;
                    if(arr[i]<arr[j])
                    {
                        tmp = arr[i];
                        arr[i] = arr[j];
                        arr[j] = tmp;
                    }
                }
            }
        int t = 0;
        for(int i=0;i<arr.length;i++)
        {
            if(i>arr.length-1)
                break;
            // 如果需要输出的长度超过数组实际长度,则退出
            if(arr[i]>=0 && arr[i]<=100){
                System.out.print(arr[i]+" ");}
            t++;
            if(t > s)
            break;
        // 计算累计输出次数,此处不能明白为什么t>=s的时候,输出的个数是s-1个
        }
    }
}


正在回答

代码语言

3 回答

应该在if后的大括号内部做累加  ... 

0 回复 有任何疑惑可以回复我~

找到原因了, 应该是先输出,然后再判断, 原来的代码, 如果有3个数字不符合条件,则输出的会更少

0 回复 有任何疑惑可以回复我~

也就是第37行不理解,按照条件,当t>=s的时候是可以输出的,但是实际效果总是少输出一行

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

问题在代码倒数第四行

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号