初级
import java.util.Scanner;
public class T69 {
static String S = new String();
public static int makeInt(){
int n=0;
int tein=1;
int i=S.lenght()-1;
while(i>0){
n+=tein*(int)S.charAt(i);
tein*=10;
i--;
}
return n;
}
public static void main(String[]args) {
Scanner cin = new Scanner(System.in);
String S = cin.nextLine();
int f = S.makeInt();
}
}
错误:
T69.java:12: error: cannot find symbol
int i=S.lenght()-1;
^
symbol: method lenght()
location: variable S of type String
T69.java:24: error: cannot find symbol
int f = S.makeInt();
^
symbol: method makeInt()
location: variable S of type String
2 errors
答案 0 :(得分:2)
要编译代码:
S.lenght()
更改为S.length()
int f = S.makeInt();
更改为int f = makeInt();
让您的代码正常运行:
String S = cin.nextLine();
更改为S = cin.nextLine();
。 n+=tein*(int)S.charAt(i);
更改为n+=tein*(S.charAt(i) - '0');
让你的代码干净:
import java.util.Scanner;
public class T69 {
public static int makeInt(String s){
int n = 0;
int tein = 1;
int i = s.length() - 1;
while (i > 0) {
n += tein * (s.charAt(i) - '0');
tein *= 10;
i--;
}
return n;
}
public static void main(String[]args) {
Scanner cin = new Scanner(System.in);
int f = makeInt(cin.nextLine());
System.out.println(f)
}
}
顺便说一句,你可以使它比这更清洁。
答案 1 :(得分:1)
首先,您将length
拼错为lenght
:
int i=S.lenght()-1;
其次,您拨打makeInt()
的方式不正确,因为它不是String
的成员。
答案 2 :(得分:0)
您的方法名称中有拼写错误。
更改
int i=S.lenght()-1;
到
int i=S.length()-1;
您正在错误地调用makeInt()
。
更改
int f = S.makeInt();
到
int f = makeInt();
答案 3 :(得分:0)
int i = S.lenght() - 1;
更改为
int i = S.length() - 1;