无法将Java.lang.String转换为int
在我将罗马数字转换为阿拉伯数字的程序中,我遇到了错误 不兼容类型:java.lang.String无法转换为int 这是我的密码无法将Java.lang.String转换为int,java,bluej,Java,Bluej,在我将罗马数字转换为阿拉伯数字的程序中,我遇到了错误 不兼容类型:java.lang.String无法转换为int 这是我的密码 if ( Character.isDigit(TextIO.peek()) ) { int arabic = TextIO.getlnInt(); try { RomanNumerals N = new RomanNumerals(arabic); TextIO.putln(N.toInt() + " = " + N.t
if ( Character.isDigit(TextIO.peek()) ) {
int arabic = TextIO.getlnInt();
try {
RomanNumerals N = new RomanNumerals(arabic);
TextIO.putln(N.toInt() + " = " + N.toString());
}
catch (NumberFormatException e) {
System.out.println("Invalid input.");
System.out.println(e.getMessage());
}
}
else {
String roman = TextIO.getln();
try {
RomanNumerals N = new RomanNumerals(roman);
System.out.println(N.toString() + " = " + N.toInt());
}
catch (NumberFormatException e) {
System.out.println("Invalid input.");
System.out.println(e.getMessage());
}
}
我正在使用BlueJ,错误被突出显示在“(罗马)”这里的猜测中。。。但是,类RomanNumerics可能没有一个构造函数将字符串作为参数,如
public RomanNumerals(String r) {
这就是为什么这么说:
RomanNumerals N = new RomanNumerals(roman);
是不允许的。我正在查看
TextIO.putln(N.toInt()+“=”+N.toString())代码>并设想N.toInt()
返回一个int
,当您尝试向其添加“=”
时,编译器会感到困惑
尝试TextIO.putln(整数(N.toInt()).toString()+“=”+N.toString())代码> 罗马数字
的构造函数必须期望一个int
,您给它一个字符串
。您需要将其转换为int
。