Java SE 中的未定义方法错误
Undefined Method error in Java SE
我写了一个问题的代码http://www.spoj.com/problems/PRIME1/
,这段代码的作用是它接受字符串中的输入,然后使用 split() 将其拆分为两个存储在数组中的整数,然后将该数组返回到 main,在给定索引中使用 prime() 检查素数,
错误是
我正在使用 Eclipse。
线程 "main" java.lang.Error 中的错误 are:Exception:未解决的编译问题:
PrimeGenerator 类型未定义方法 input(String)
PrimeGenerator 类型未定义方法 input(String)
PrimeGenerator 类型未定义方法 split(String)
PrimeGenerator
类型未定义方法 prime(int)
at PrimeGenerator.main(PrimeGenerator.java:10)
代码如下:
import java.io.*;
import java.lang.*;
public class PrimeGenerator {
public static void main(String args[])throws IOException{
PrimeGenerator obj=new PrimeGenerator();
System.out.println("enter number of test cases");
String test_case=""; test_case=obj.input(test_case);
int test_case_val=Integer.parseInt(test_case);
String array[]=new String[test_case_val];
for(int i=0;i<test_case_val;i++){
array[i]=obj.input(array[i]);
}
System.out.println();
for(int z=0;z<test_case_val;z++){
int[] copy=obj.split(array[z]);
for(int s=copy[0];s<copy[1];s++){
if(prime(s)==1){
System.out.println(s);
}
System.out.println();
}
}
}
public String Static input(String x)throws IOException{
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
x=br.readLine(); return x;
}
int[] Static split(String x[]){
String one=""; String two="";
int length=x.length();
for(int k=0;k<length;k++){
if(x.charAt(k)=' '){
one=x.substring(0,k-1); two=x.substring(k+1,length-1);
}
}
int open=Integer.parseInr(one);
int close=Integer.parseInr(two);
int[] arrax={open, close}
return arrax[];
}
int Static prime(int x){
int flag=0;
for(int temp=1;temp<=x;temp++){
if(x%temp==0) flag++;
else continue;
}
if(flag==2) return 1;
else return 0;
}
}
public String Static input(String x)throws IOException{
这不是 Java。 Static 不是大写字母,应该位于 return 类型之前,因此您的代码在那里看不到任何 "input" 方法,因此出现错误。它应该读作...
public static String input(String x) throws IOException {
我写了一个问题的代码http://www.spoj.com/problems/PRIME1/ ,这段代码的作用是它接受字符串中的输入,然后使用 split() 将其拆分为两个存储在数组中的整数,然后将该数组返回到 main,在给定索引中使用 prime() 检查素数, 错误是 我正在使用 Eclipse。 线程 "main" java.lang.Error 中的错误 are:Exception:未解决的编译问题: PrimeGenerator 类型未定义方法 input(String) PrimeGenerator 类型未定义方法 input(String) PrimeGenerator 类型未定义方法 split(String) PrimeGenerator
类型未定义方法 prime(int)at PrimeGenerator.main(PrimeGenerator.java:10)
代码如下:
import java.io.*;
import java.lang.*;
public class PrimeGenerator {
public static void main(String args[])throws IOException{
PrimeGenerator obj=new PrimeGenerator();
System.out.println("enter number of test cases");
String test_case=""; test_case=obj.input(test_case);
int test_case_val=Integer.parseInt(test_case);
String array[]=new String[test_case_val];
for(int i=0;i<test_case_val;i++){
array[i]=obj.input(array[i]);
}
System.out.println();
for(int z=0;z<test_case_val;z++){
int[] copy=obj.split(array[z]);
for(int s=copy[0];s<copy[1];s++){
if(prime(s)==1){
System.out.println(s);
}
System.out.println();
}
}
}
public String Static input(String x)throws IOException{
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
x=br.readLine(); return x;
}
int[] Static split(String x[]){
String one=""; String two="";
int length=x.length();
for(int k=0;k<length;k++){
if(x.charAt(k)=' '){
one=x.substring(0,k-1); two=x.substring(k+1,length-1);
}
}
int open=Integer.parseInr(one);
int close=Integer.parseInr(two);
int[] arrax={open, close}
return arrax[];
}
int Static prime(int x){
int flag=0;
for(int temp=1;temp<=x;temp++){
if(x%temp==0) flag++;
else continue;
}
if(flag==2) return 1;
else return 0;
}
}
public String Static input(String x)throws IOException{
这不是 Java。 Static 不是大写字母,应该位于 return 类型之前,因此您的代码在那里看不到任何 "input" 方法,因此出现错误。它应该读作...
public static String input(String x) throws IOException {