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)
这是因为函数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)
此外,你只是丢弃函数的返回值ExtractChars在main.您可能希望将函数返回的提取字符(作为字符串)打印为:
System.out.println("Extracted Characters = " + ExtractChars());
Run Code Online (Sandbox Code Playgroud)
在你的主要代替
ExtractChars();
Run Code Online (Sandbox Code Playgroud)