繁体   English   中英

尝试编译Java文件时出现错误

[英]Errors when trying to compile java file

尝试使用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.class中的代码

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;
}
}

我认为您MiscUtils类缺少编译器错误中显示的方法。

您尚未导入类MiscUtils。 因此,它给错误。

在类MiscUtilsTest之前使用导入语法。

import MiscUtils.*;

更改:

 int grade1, grade2, grade3, grade4, grade5, grade6, grade7, grade8, grade9;

String grade1, grade2, grade3, grade4, grade5, grade6, grade7, grade8, grade9;

由于calcGrade()返回String而不是int

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM