问答详情
源自:7-1 编程练习

package com.HelloWorld; import java.util.Arrays; public class HelloWorld { //完成 main 方法 public static void main(String[] args) { HelloWorld hello=new HelloWorld(); hello.sort(89 , -23 , 64 , 91 , 119

package com.HelloWorld;
import java.util.Arrays;
public class HelloWorld {
    
    	 //完成 main 方法
        public static void main(String[] args) {
            HelloWorld hello=new HelloWorld();
            
            hello.sort(89 , -23 , 64 , 91 , 119 , 52 , 73);
            
        }
        
        //定义方法完成成绩排序并输出前三名的功能
        public void sort(int scores[]){
        	Arrays.sort(scores);
        	for(int i=0;i<2;i++){
        		System.out.println(scores[i]);
        		if(scores[i]>100){
            		System.out.println("输入无效");
            	}else if(scores[i]<0){
            		System.out.println("输入无效");
            	}
        	}
        	
        	
        }
        这个在调试sort()的时候显示红色,为什么会不行呢?

提问者:这个小锋 2015-12-08 19:21

个回答

  • 慕移动9181930
    2022-03-26 09:39:54

    把代码发的全一点,看一下你的代码逻辑&lt;q&gt;使

  • 这个小锋
    2015-12-09 20:17:32

    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();
           
            System.out.println("前三名的成绩为:");
            hello.show(scores);
            }
            
            public void show(int []scores){
            	Arrays.sort(scores);
            	int num=0;
            	for(int i=scores.length-1;num<3;i--){
            		if(scores[i]>100^scores[i]<0){
            		continue;
            	}
            		num++;
            		System.out.println(scores[i]);
            		
            		}
    
          
        }
    }

    我把System.out.pringtln("前三名的成绩为:"+hello.show());

    变成

    System.out.println("前三名的成绩为:");
           hello.show(scores);

    就可以了,为什么呢?

  • RockenRoll
    2015-12-09 11:58:27

    System.out.pringtln("前三名的成绩为:"+hello.show());这个是你打的

  • RockenRoll
    2015-12-09 10:37:39

    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.show(scores);
            }
             
            public void show(int []scores){
                
                Arrays.sort(scores);
                
                int num=0;
                
                for(int i=scores.length - 1;num<=3;i--){
                    
                    if(scores[i]>100 || scores[i]<0){
                        
                    continue;
                }
                    num++;
                    
                    System.out.println(scores[i]);
                     
                   }
        }
    你那个show方法不能写在println里面(你这都打错真是无语),并且这个方法是有参数的,你的参数呢,先把前面几章再认真看看吧

  • 这个小锋
    2015-12-08 20:35:30

    其实我写的与题目偏了,这个程序表达的是 输入89 , -23 , 64 , 91 , 119 , 52 , 73

    然后自动输出前三名。但是我也想知道这样的程序应该怎么弄。

    我更改之后还是不行。

    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.show(scores);
            System.out.pringtln("前三名的成绩为:"+hello.show());
            }
            
            public void show(int []scores){
            	Arrays.sort(scores);
            	int num=0;
            	for(int i=scores.length;num<=3;i--){
            		if(scores[i]>100^scores[i]<0){
            		continue;
            	}
            		num++;
            		System.out.print(scores[i]);
            		
            		}
    
          
        }
    }


  • RockenRoll
    2015-12-08 20:17:53

    public class HelloWorld {
         
             //完成 main 方法
            public static void main(String[] args) {
                
                HelloWorld hello = new HelloWorld();
                
                 int []scores = {89 , -23 , 64 , 91 , 119 , 52 , 73};
                 
                hello.sort(scores);
                
            }
                 //定义方法完成成绩排序并输出前三名的功能
            public void sort(int []scores){
                
                Arrays.sort(scores);
                int num = 0;
                
                for(int i = scores.length - 1; i >= 0 ; i--){
                    if(scores[i] > 100 || scores[i] < 0){
                        continue;    
                    }
                    
                    num ++;
                    if (num > 3){
                        break;
                    }
                    System.out.println(scores[i]);
                }  
            }

    你那个有好几个问题啊,改起来好麻烦,你先看看这个,不懂再说

  • 不放弃_LML
    2015-12-08 20:16:09

    显示红色好像是代表sort是JAVA关键字吧  关键字不能拿来定义方法名

  • Irays
    2015-12-08 19:52:16

    public void sort(int scores[])应该是public void sort(int[] scores)

    hello.sort(89 , -23 , 64 , 91 , 119 , 52 , 73);

    应该是int[] scores={89 , -23 , 64 , 91 , 119 , 52 , 73};

    hello.sort(scores);