尝试编译java文件时出现编译错误
我在尝试用java编译时遇到了几个错误。这是我关于堆栈溢出的第一篇文章,请指出我文章中的错误
这段代码是我为一个实用程序编写的一些测试代码
以下是我的代码:
public class MiscUtilsTest
{
public static void main(String[] args)
{
testMax();
testCalcGrade();
testRoomArea();
}
public static void testMax()
{
int num, num2, num3;
num = MiscUtils.max(9, 2);
assert 9 == num;
num2 = MiscUtils.max(6, 1);
assert 6 == num2;
num3 = MiscUtils.max(7, 7);
assert 7 == num3;
}
public static void testCalcGrade()
{
int grade1, grade2, grade3, grade4, grade5, grade6, grade7, grade8, grade9;
grade1 = MiscUtils.calcGrade(2);
assert "F".equals(grade1);
grade2 = MiscUtils.calcGrade(15);
assert "F".equals(grade2);
grade3 = MiscUtils.calcGrade(28);
assert "F".equals(grade3);
grade4 = MiscUtils.calcGrade(33);
assert "F".equals(grade4);
grade5 = MiscUtils.calcGrade(40);
assert "F".equals(grade5);
grade6 = MiscUtils.calcGrade(49);
assert "F".equals(grade6);
grade7 = MiscUtils.calcGrade(82);
assert "8".equals(grade7);
grade8 = MiscUtils.calcGrade(125);
assert "".equals(grade8);
grade9 = MiscUtils.calcGrade(-12);
assert "".equals(grade9);
}
public static void testRoomArea()
{
int test, test2, test3;
test2 = MiscUtils.roomArea(-10, 5);
assert 0 == test;
test2 = MiscUtils.roomArea(6, 2);
assert 0 == test2;
test3 = MiscUtils.roomArea(5, 10);
assert 50 == test3;
}
}
以下是我在编译时遇到的错误-
MiscUtilsTest.java:45: error: cannot find symbol
MiscUtilsTest.java:30: error: incompatible types: String cannot be converted to int
grade1 = MiscUtils.calcGrade(2);
^
MiscUtilsTest.java:33: error: incompatible types: String cannot be converted to int
grade2 = MiscUtils.calcGrade(15);
^
MiscUtilsTest.java:36: error: incompatible types: String cannot be converted to int
grade3 = MiscUtils.calcGrade(28);
^
MiscUtilsTest.java:39: error: incompatible types: String cannot be converted to int
grade4 = MiscUtils.calcGrade(33);
^
MiscUtilsTest.java:42: error: incompatible types: String cannot be converted to int
grade5 = MiscUtils.calcGrade(40);
^
MiscUtilsTest.java:45: error: incompatible types: String cannot be converted to int
grade6 = MiscUtils.calcGrade(49);
^
MiscUtilsTest.java:48: error: incompatible types: String cannot be converted to int
grade7 = MiscUtils.calcGrade(82);
^
MiscUtilsTest.java:51: error: incompatible types: String cannot be converted to int
grade8 = MiscUtils.calcGrade(125);
^
MiscUtilsTest.java:54: error: incompatible types: String cannot be converted to int
grade9 = MiscUtils.calcGrade(-12);
^
9 errors
对于那些询问类文件的人,可以从MiscUtils中获取代码。阶级
import java.io.PrintStream;
import java.io.PrintStream;
public class MiscUtils
{
static
{
System.out.println("[FYI: You are testing the *working* version of MiscUtils. Your test harness *should not* find any problems.]");
}
public static int max(int paramInt1, int paramInt2)
{
int i = paramInt1;
if (paramInt2 > paramInt1) {
i = paramInt2;
}
return i;
}
public static String calcGrade(int paramInt)
{
String str = "";
if ((paramInt >= 0) && (paramInt <= 100)) {
if (paramInt >= 50) {
str = str + paramInt / 10;
} else {
str = "F";
}
}
return str;
}
public static int roomArea(int paramInt1, int paramInt2)
{
int i = 0;
if ((paramInt1 > 0) && (paramInt2 >= paramInt1) && (paramInt2 <= 3 * paramInt1)) {
i = paramInt1 * paramInt2;
}
return i;
}
}
# 1 楼答案
更改:
到
因为
calcGrade()
返回一个String
而不是一个int
# 2 楼答案
我认为您的MiscUtils类缺少编译器错误中显示的方法
# 3 楼答案
您尚未导入类MiscUtils。因此,它的给出是错误的
在类miscutiltest之前使用导入语法