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

0<scores[i]&&scores[i]<100为什么和0>scores[i]||scores[i]<100输出结果不一样

package com.imooc;

import java.util.Arrays;

public class HelloWorld {

public static void main(String[] args) {

int []scores={89,-23,64,91,119,52,73};

System.out.println("考试前三名的成绩为:");

HelloWorld hello=new HelloWorld();

hello.showTop3(scores);

}

public void showTop3(int []scores){

Arrays.sort(scores);

int num=0;

for (int i=scores.length-1;i>=0;i--){

if(0<scores[i]&&scores[i]<100){

continue;

}

num++;

if(num>3){

break;

}

System.out.println(scores[i]);

}

}

}

0<scores[i]&&scores[i]<100为什么和0>scores[i]||scores[i]<100输出结果不一样?

正在回答

2 回答

第一个相当于0<x<100

第二个相当于x<0和x<100的合集,就是相当于x<100

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

慕粉1034498546 提问者

你再仔细看看是0<scores[i]&&scores[i]<100和0>scores[i]||scores[i]<100
2017-03-22 回复 有任何疑惑可以回复我~
#2

BASPP 回复 慕粉1034498546 提问者

你一个continue把除了这个范围之外的排除掉了,第一个输出的是119和-23,这两个不在0<x<100内,第二个输出119,不在x<100内,是没毛病啊,第一个是逻辑与,第二个是逻辑或,你再想想对不对
2017-03-22 回复 有任何疑惑可以回复我~
#3

慕粉1034498546 提问者

明白了,谢谢啊!
2017-03-22 回复 有任何疑惑可以回复我~
#4

慕设计5697916 回复 慕粉1034498546 提问者

建议你去eclipse里跑一下,num++位置不对
2017-03-22 回复 有任何疑惑可以回复我~
查看1条回复

抱歉,说错,是你把设定范围之内的排除掉了

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

举报

0/150
提交
取消

0<scores[i]&&scores[i]<100为什么和0>scores[i]||scores[i]<100输出结果不一样

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信