我正在尝试创建一个接受一个月用户输入的类,然后输出所述月份的天数。每当我测试我的课程时,它都没有给我一个天数的输出,而只是将月份数乘以10.为什么会发生这种情况,我该怎么做才能解决它?
这是我的代码
import java.util.Scanner;
public class Appointment
{
public static void main(String[] args)
{
Scanner kin = new Scanner(System.in);
System.out.print("Enter a number that corresponds to a month: ");
int month = kin.nextInt();
System.out.print(month);
int Days = 0;
System.out.print(Days);
if ( month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12)
{
Days = 31;
}
else if ( month == 4 || month == 6 || month == 9 || month == 11)
{
Days = 30;
}
else if ( month == 2)
{
Days = 28;
}
}
public int getDays()
{
int Days = 0;
return Days;
}
{
} }
答案 0 :(得分:4)
您没有将您的月份乘以10
;你刚刚在月份之后立即打印了0
。 print
方法不会在您要打印的内容之后放置任何内容,甚至不会换行。
Enter a number that corresponds to a month: 2
20
^^
| \
| --- The `0` is from `Days`
------ The `2` is from `month`
输出空格或其他一些词汇,或者在输出后使用println
输出换行符,以便在视觉上区分两个变量的输出。
另外,在所有Days
语句之后正确分配后,请打印if
,因此在打印时不是0
。
答案 1 :(得分:0)
您的代码很好,但您应该使用
System.out.println()而不是 System.out.print()
问题在于您首先打印您的月份,然后在SAME行中的数字0(可变天数)之后立即打印。
下次建议,使用调试器:)
答案 2 :(得分:0)
您只需打印月份,然后打印0即可。在您的代码中,您的方法getDays()从未被调用过。它充满了错误。