GLittleM
2017-04-23 23:28
/85/1598/uvK/HelloWorld.java:13: error:expected
for(int j=0,int k=0;j
//完成 main 方法
public static void main(String[] args) {
int[] scores={89,-23,64,91,119,52,73};
System.out.println("考试成绩的前三名为:");
HelloWorld sort=new HelloWorld();
sort.sort(scores) ; //下面定义了方法你不调用??怎么输出
}
/*
你的sort方法:用两个for循环你是想将数组重新排序么,
我没有去看你这方法对不对,你可以专门去把这个排序去实现,
数组排序有java自带的方法实现——Arrays.sort(数组名),但要先声明import java.util.Arrays;
*/
//定义方法完成成绩排序并输出前三名的功能
public void sort(int[] scores){
for(int i=0;i<scores.length;i++){
for(int j=0,int k=0;j<scores.length;j++){
if(<scores[j]>scores[i]){
k=scores[i];
scores[i]=scores[j];
scores[j]=k;
}
}
}
// System.out.println(scores[0]+","+scores[1]+","+scores[2]);这个是对的
System.out.println(scores[0]+scores[1]+scores[2]); //输出方式这样输出是三个数的和
}
以下是我写的,实现了作业要求
import java.util.*;
public class HelloWorld {
//完成 main 方法
public static void main(String[] args) {
int[] scores = {89,-23,64,91,52,73};
HelloWorld score1 = new HelloWorld();
score1.print(scores);
}
//定义方法完成成绩排序并输出前三名的功能
public void print(int[] scores){
Arrays.sort(scores);
int j=0;
for(int i = scores.length - 1;i >= 0;i--){
if(scores[i] < 0 || scores[i] > 100)
continue;
System.out.println(scores[i]);
j++;
if(j >=3)
break;
}
}
}
public static void main(String[] args) { int[] scores={89,-23,64,91,119,52,73}; System.out.println("考试成绩的前三名为:"); HelloWorld sort=new HelloWorld(); } //定义方法完成成绩排序并输出前三名的功能 public void sort(int[] scores){ //这个sort方法你根本没调用 for(int i=0;i<scores.length;i++){ for(int j=0,int k=0;j<scores.length;j++){ //j已经int了,k就不需要再int了 if(<scores[j]>scores[i]){ //就算调用了这个方法,i,j都是0,if不会执行 //写多了个"<" k=scores[i]; scores[i]=scores[j]; scores[j]=k; } } } System.out.println(scores[0]+scores[1]+scores[2]); }
总体上来说,你这个程序根本不能运行,还有程序如果报错,就不要运行了。我一放进去,一堆报错。还是照着慕课网的例子学比较好。
for循环只能定义一个变量。你定了两个,所以错了
//定义方法完成成绩排序并输出前三名的功能 public void sort(int[] scores){ for(int i=0;i<scores.length;i++){ for(int j=0,int k=0;j<scores.length;j++){ // for(int j=0,k=0;... if(<scores[j]>scores[i]){ k=scores[i]; scores[i]=scores[j]; scores[j]=k; } } } System.out.println(scores[0]+scores[1]+scores[2]); // 此处不应该直接直接使用+相连,否则三个数会做相加运算,可以改成如下形式 System.out.println(scores[0]+","+scores[1]+","+scores[2]); }
Java入门第一季(IDEA工具)升级版
1165175 学习 · 17581 问题
相似问题