Java静态方法无法编译

Woo*_*ung 0 java methods static compiler-errors function

编译此代码时出现以下消息.

Question2中的ExtractChars(java.lang.String,int)无法应用于()

我该怎么办?

谢谢.

import java.util.Scanner;

public class Question2
{

    public static void main (String[] args)
    {

        ExtractChars();

    }
    public static String ExtractChars(String sOrg, int startPos)
    {

        Scanner scan = new Scanner (System.in);
        String value = "";
        System.out.print("Enter a string: ");
        sOrg = scan.next();
        System.out.print("/nEnter an integer: ");
        startPos = scan.nextInt();
        if (sOrg.length()<=startPos)
        {

            value = "";

        }
        else
        {
            for (int i=startPos; i<sOrg.length();i=i+2)
            {

                value = value + sOrg.charAt(i);

            }
        }

        return value;
    }
}
Run Code Online (Sandbox Code Playgroud)

cod*_*ict 5

这是因为函数ExtractChars需要两个参数,但是你没有传递任何参数.

编辑:

看起来你正在读输入sOrg,startPos并且不需要将它们作为参数传递,你可以使它们成为局部变量.

所以改变:

public static String ExtractChars(String sOrg, int startPos)
{
 ....
Run Code Online (Sandbox Code Playgroud)

public static String ExtractChars()
{
  String sOrg;
  int startPos;
  ....
Run Code Online (Sandbox Code Playgroud)

此外,你只是丢弃函数的返回值ExtractCharsmain.您可能希望将函数返回的提取字符(作为字符串)打印为:

System.out.println("Extracted Characters = " + ExtractChars());
Run Code Online (Sandbox Code Playgroud)

在你的主要代替

ExtractChars();
Run Code Online (Sandbox Code Playgroud)