【问题标题】:Illegal start of expressions in Java fileJava 文件中表达式的非法开始
【发布时间】:2020-03-21 06:11:40
【问题描述】:

这是我得到错误的代码。如何调用参数化方法?

我是编码新手。

public class Main 
{
    public static void main(String[] args)
    {
       Main arr= new Main ();
       arr.process();
    }
        public void process(String input)
        {
            String[] vals= input.split(" ");
            int[] score=new int[vals.length];
            int total=0;
            for(int i=0; i<score.length; i++)
            {
                score[i]=Integer.parseInt(vals[i]);
                total+=score[i];                  
            }
            double Average(double)total/score.length;
            System.out.println(Average);            
        }
    }

错误:

  The method process() in the type Main

。不适用于参数 ()

【问题讨论】:

  • 嘿!请显示整个错误消息。
  • 上面的java代码可以运行吗??
  • 你把process方法放到了main函数中,这在Java中是非法的。将方法 process 放在类 Main 的范围内。
  • 仍然没有运行。
  • 如何更正。如果没有 main 方法,它就不会运行。

标签: java process expression main


【解决方案1】:

Process 方法应该在 Main 方法之外。流程方法也应该是静态的,因为不需要 Main 类的实例来执行流程方法。扫描程序类被调用(import java.util.Scanner)。 java.util.Scanner 类是一个简单的文本扫描器,它可以使用正则表达式解析原始类型和字符串。在处理方法中,scanner sc 读取字符串输入,直到它到达字符串的结尾。了解更多关于扫描仪https://www.tutorialspoint.com/java/util/java_util_scanner.htm

    import java.util.Scanner;

    public class Main{

        public static void main(String[] args) {
            String inputString = "1 2 3 4 5 6 7 8";
            process(inputString);
        }
        public static void process(String input)
        {
            int total = 0;
            int length = 0;
            Scanner sc = new Scanner(input);
            while( sc.hasNextInt() ) {
                total += sc.nextInt();
                ++length;
            }
            double Average =  (double)total / length;

            System.out.println( Average );            
        }
    }

【讨论】:

  • 感谢您的回答。但我正在学习数组。你的答案没有使用任何数组。
【解决方案2】:
{
    public static void main(String[] args)
    {
       Main arr= new Main ();
       arr.process("76,65,87,98,100");
    }
        public void process(String input)
        {
            String[] vals= input.split(" ");
            int[] score=new int[vals.length];
            int total=0;
            for(int i=0; i<score.length; i++)
            {
                score[i]=Integer.parseInt(vals[i]);
                total+=score[i];                  
            }
            double Average(double)total/score.length;
            System.out.println(Average);            
        }
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-11
    • 1970-01-01
    • 2021-12-01
    • 1970-01-01
    • 2021-06-05
    • 1970-01-01
    • 1970-01-01
    • 2013-10-03
    相关资源
    最近更新 更多