gpt4 book ai didi

Java:内部测试类编译错误 - 打印 switch block 的所有情况

转载 作者:行者123 更新时间:2023-12-01 11:06:53 24 4
gpt4 key购买 nike

编辑:这是一个语法问题 - 在发布此内容时我完全是个菜鸟,并且没有使用正确的 IDE,所以我向社区表示歉意。另外,请尽量避免假设该网站上的每个人都是男性。

我目前正在与我的内部类DateTest搏斗。编译后出现此错误消息,我一直无法弄清楚如何修复该错误。我已经通过许多行代码来计算出测试类,试图打印出 Date 类中 switch block 的所有十二个案例。

下面我包含了错误和我的代码。还值得一提的是,我是在在线 IDE、browxy 中编写此内容,并在 CodeChef 中进行了双重检查。

这是我的代码:

public class Date {  

public static int daysInMonth(int month) {

/** method uses a switch block and takes in a month number (1 for January, 2 for February, etc.) and returns the number of days in a month. **/

switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
return 31;
break;
case 2:
return 28;
break;
case 4:
case 6:
case 9:
case 11:
return 30;
break;
default:
System.out.println("Invalid month.");
break;
}
return month;
}

public class DateTest {

/*test class that prints out 12 lines like: "January is 31 days long.", "February...", etc.*/

int month; /* <-- compilation error had been here due to missing curly brace (error = "class expected") */
}

public static void main (String [] args) {
month = Date.daysInMonth(1);
System.out.println("January is " +month+ " days long.");
month = Date.daysInMonth(2);
System.out.println("February is " +month+ " days long.");
month = Date.daysInMonth(3);
System.out.println("March is " +month+ " days long.");
month = Date.daysInMonth(4);
System.out.println("April is " +month+ " days long.");
month = Date.daysInMonth(5);
System.out.println("May is " +month+ " days long.");
month = Date.daysInMonth(6);
System.out.println("June is " +month+ " days long.");
month = Date.daysInMonth(7);
System.out.println("July is " +month+ " days long.");
month = Date.daysInMonth(8);
System.out.println("August is " +month+ " days long.");
month = Date.daysInMonth(9);
System.out.println("September is " +month+ " days long.");
month = Date.daysInMonth(10);
System.out.println("October is " +month+ " days long.");
month = Date.daysInMonth(11);
System.out.println("November is " +month+ " days long.");
month = Date.daysInMonth(12);
System.out.println("December is " +month+ " days long.");
}
}

(编辑:这是我在这里问的第一个问题,我刚刚开始学习 Java 以及如何完全自己编程 - 我对任何初学者的建议:使用一台足够好的计算机,可以支持基本的 IDE语法高亮,而不是在线环境/没有它的环境,因为当你不熟悉 Java/C++ 标点符号时,它可能会给你带来噩梦。)

最佳答案

month 应该只是 main 函数中的本地成员。只需在第一次使用时添加类型声明,就可以了:

public class DateTest {
public static void main (String [] args) {
int month = Date.daysInMonth(1);
// rest of code comes here
}
}

关于Java:内部测试类编译错误 - 打印 switch block 的所有情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32861094/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com