Win_me
2016-07-07 19:55
import java.util.Arrays;
public class HelloWorld {
//完成 main 方法
public static void main(String[] args) {
int [] h={90,98,89,78,68,0};
HelloWorld hello=new HelloWorld();
int []g=hello.getScores(h);
System.out.println("考试成绩的前三名为:");
for(int d:g){
System.out.println(d);
}
}
//定义方法完成成绩排序并输出前三名的功能
public int[] getScores(int[]a){
int []b=Arrays.sort(a);
int []c=new int[3];
for(int i=0;i<c.length;i++){
if(b[i]<100&&b[i]>0)
c[i]=b[i];
else
c[i]=0;
}
return c;
}
}

你根本没按提示做按。。。
package com.helloworld;
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();
hello.max(scores);
}
//定义方法完成成绩排序并输出前三名的功能
public void max(int scores[]){
//nums是用来看是否到了3个
int i,nums=0;
//将scores数组升序排序
Arrays.sort(scores);
//使用 for 循环遍历数组中的元素,由于要输出的是前三名成绩,所以从后往前遍历,即倒序遍历
for ( i = scores.length - 1; i >= 0; i-- ) {
//如果数字不符合条件,continue跳过循环
if(scores[i]<0||scores[i]>100){
continue;
}
nums=nums+1;
System.out.println(scores[i]);
if(nums>=3){
break;
}
}
}这是我的方法,希望采纳。
public class HelloWorld {
//完成 main 方法
public static void main(String[] args) {
int[] scores = new int[]{89,-23,64,91,119,52,73};
sortArray(scores);
}
//定义方法完成成绩排序并输出前三名的功能
public static void sortArray(int[] arr){
int temp = 0;
for(int i = 0 ; i< arr.length; i++){
if(arr[i]<0 || arr[i] > 100 ){
arr[i] = 0;
}
}
for(int i = 0 ; i < arr.length;i++){
for (int j = i + 1 ; j < arr.length ; j++){
if(arr[i]<arr[j]){
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
for(int i = 0 ; i< arr.length; i++){
if(i < 3 )
System.out.println(arr[i]);
}
}
}这是我写的答案,可能有点小麻烦吧,你可以看一下。如果不是因为不知道怎么写,而是因为不知道你的为什么会出现问题的话,可以私聊我,我帮你解释一下。
Java入门第一季(IDEA工具)
1168264 学习 · 18754 问题
相似问题