幕布斯1272103
2018-09-28 14:33
import java.util.Arrays;
public class HelloWorld {
//完成 main 方法
public static void main(String[] args) {
HelloWorld hello = new HelloWorld();
int[] arrays = new int[]{89,-23,64,91,119,52,73};
hello.scoreArray(arrays);
}
//定义方法完成成绩排序并输出前三名的功能
public int[] scoreArray(int[] arrays){
Arrays.sort(arrays);
int numb = 1;
for(int i = arrays.length-1;i >= 0;i--){
if(arrays[i]<0){
continue;
}
if(arrays[i]>100){
continue;
}
System.out.println(arrays[i]);
numb++;
if(numb>3){
break;
}
}
return arrays;
}
}
可以用楼上的void 不用返回值
这样的话main里边调用的结果为数组,hello.scoreArray(arrays)这个为数组,还需要输出数组或者逐个赋值
例如:
int num1=hello.scoreArray(arrays)[0];
int num2=hello.scoreArray(arrays)[1];
int num3=hello.scoreArray(arrays)[2];
然后输出这三个变量
scoreArray方法里再创建一个数组,把需要输出的数值赋值给新的数组,然后返回值为新的数组
numb初始值改为0
例如:
public int[] scoreArray(int[] arrays){
Arrays.sort(arrays);
//int numb = 1;
int numb=0; //初始值为0,在0的基础上做3次自加加运算,最后结果为3
int [] arr=new int[3]; //新的数组,因为要输出前3名,所以长度为3
for(int i = arrays.length-1;i >= 0;i--){
if(arrays[i]<0){
continue;
}
if(arrays[i]>100){
continue;
}
//可以合为一句
if(arrays[i]<0||arrays[i]>100){
continue;
}
System.out.println(arrays[i]); //这行可以不要
numb++;
if(numb>3){
break;
}
arr[numb-1]=arrays[i]; //这里开始逐个赋值,此循环中numb的值为1、2、3,
}
return arrays;
return arr; //这里返回值为数组arr
}
不用返回了
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.function(scores);
}
//定义方法完成成绩排序并输出前三名的功能
public void function(int[] scores)
{
int count=0;
Arrays.sort(scores);
// int marks[3] ;
for(int i=scores.length-1; i>=0;i--)
{
if(scores[i]<0|scores[i]>100){continue; }
System.out.println(scores[i]);
count++;
if(count>=3){break;}
}
}
}
Java入门第一季(IDEA工具)升级版
1165793 学习 · 17588 问题
相似问题