慕妹246195
2019-09-30 02:45
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.get(scores); } //定义方法完成成绩排序并输出前三名的功能 public void get(int[]scores) { int[] top=new int[3]; Arrays.sort(scores); for(int j=0,i=scores.length-1;i>0;i--) { if(scores[i]<0||scores[i]>100) continue; while(j!=3) { top[j]=scores[i]; j++; } } System.out.println(top[0] + top[1] + top[2]); } }
如果是三个字符串相加 求出就是918973 ,数字变量相加就求和了。试试下面这种
top[
0
] +" "+ top[
1
] +" "+ top[
2
]
补充:题目要求是 把数组中取值在0~100之间的数中前三个最高分依次输出,也就是91,89,73。
我用加号+连接三个数组元素,却直接输出了253,相当于把数组求和了,为什么呢?
Java入门第一季(IDEA工具)升级版
1165172 学习 · 17581 问题
相似问题