Java.lang.String 无法转换为 int
Java.lang.String cannot be converted to int
在我将罗马数字转换为阿拉伯数字的程序中,我遇到了 运行 错误
incompatible types: java.lang.String cannot be converted into int
这是我的代码
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,错误在“(罗马)”上方突出显示
在这里猜测......但可能你的 class RomanNumerals 没有像
这样的将字符串作为参数的构造函数
public RomanNumerals(String r) {
这就是为什么这样称呼它:
RomanNumerals N = new RomanNumerals(roman);
不允许。
我正在查看 TextIO.putln(N.toInt() + " = " + N.toString());
并想象 N.toInt()
returns 和 int
并且当您尝试向其添加 " = "
时编译器感到困惑.
尝试TextIO.putln(Integer(N.toInt()).toString() + " = " + N.toString());
。
在我将罗马数字转换为阿拉伯数字的程序中,我遇到了 运行 错误
incompatible types: java.lang.String cannot be converted into int
这是我的代码
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,错误在“(罗马)”上方突出显示
在这里猜测......但可能你的 class RomanNumerals 没有像
这样的将字符串作为参数的构造函数public RomanNumerals(String r) {
这就是为什么这样称呼它:
RomanNumerals N = new RomanNumerals(roman);
不允许。
我正在查看 TextIO.putln(N.toInt() + " = " + N.toString());
并想象 N.toInt()
returns 和 int
并且当您尝试向其添加 " = "
时编译器感到困惑.
尝试TextIO.putln(Integer(N.toInt()).toString() + " = " + N.toString());
。