只判斷了大于的條件,小于的怎么判斷
import java.util.Arrays;
public class HelloWorld {
? ??
? ? //完成 main 方法
? ? public static void main(String[] args) {
? ? ? ? int[] data ={89,-23,64,94,119,52,73};
? ? ? ? HelloWorld hello=new HelloWorld();
? ? ? ? int[] tops=hello.top(data);
? ? ? ? System.out.println(Arrays.toString(tops));
? ? ? ??
? ? }
? ??
? ? //定義方法完成成績排序并輸出前三名的功能
? ??
? ? public int[] top(int scores[]){
? ? ? ??
? ? ? ? Arrays.sort(scores);
? ? ? ? int[] score =new int[3];
? ? ? ? for(int i = scores.length - 1; i >= 0; i--){
? ? ? ? ? ? if(scores[i]>100){
? ? ? ? ? ? ? ? continue;
? ? ? ? ? ? }else{
? ? ? ? ? ? ? ? score[0]=scores[i];
? ? ? ? ? ? ? ? score[1]=scores[i-1];
? ? ? ? ? ? ? ? score[2]=scores[i-2];
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? return score;
? ? }
}
只判斷了過濾了大于100的,沒去考慮小于0的,不知道怎么修改才能做到判斷下一個小于0
2020-01-19
if(scores[i]>100||scores[i]<0)
2020-01-15
import java.util.Arrays;
public class HelloWorld?
{
? ? //完成 main 方法
? ? public static void main(String[] args)
? ? {
? ? ? ? int scores[] = {89,-23,64,91,119,52,73};? ??
? ? ? ? HelloWorld hello = new HelloWorld();
? ? ? ? System.out.println("考試成績前三名為:");
? ? ? ? hello.top(scores);
? ? ? ??
? ? }
? ??
? ? //定義方法完成成績排序并輸出前三名的功能
? ? public void top(int[] scores)
? ? {
? ? ? ? int count = 0;
? ? ? ? int wrong = 0;
? ? ? ?
? ? ? ? //有效成績個數(shù)
? ? ? ? for(int i = 0;i<scores.length;i++)
? ? ? ? {
? ? ? ? ? ? if(scores[i]<=100 && scores[i]>=0)
? ? ? ? ? ? ? ? count++;? ?
? ? ? ? }
? ? ? ??
? ? ? ? int right[] = new int[count];
? ? ? ??
? ? ? ? //將有效成績放入新的數(shù)組
? ? ? ? for(int i = 0;i<scores.length;i++)
? ? ? ? {
? ? ? ? ? ? if(scores[i]<=100 && scores[i]>=0)
? ? ? ? ? ? ? ?right[i-wrong] = scores[i];
? ? ? ? ? ? else
? ? ? ? ? ? {
? ? ? ? ? ? ? ? wrong++;
? ? ? ? ? ? ? ? continue;
? ? ? ? ? ? }
? ? ? ? }
? ? ? ??
? ? ? ? Arrays.sort(right);
? ? ? ??
? ? ? ? for(int i = right.length-1;i>right.length-4;i--)
? ? ? ? ? ? System.out.println(right[i]);
? ? }
}
2020-01-07
還有在問一下不能定義把排序后的數(shù)組賦值給其他數(shù)組嗎?
比如 int[]num =?? Arrays.sort(nums);這樣好像是會報錯的