Java 为什么我的月输入要乘以10?
我试图创建一个类,该类接受用户输入一个月,然后输出该月的天数。每当我测试我的类时,它不会给我天数的输出,而是将月数乘以10。为什么会发生这种情况?我能做些什么来修复它 这是我的密码Java 为什么我的月输入要乘以10?,java,Java,我试图创建一个类,该类接受用户输入一个月,然后输出该月的天数。每当我测试我的类时,它不会给我天数的输出,而是将月数乘以10。为什么会发生这种情况?我能做些什么来修复它 这是我的密码 import java.util.Scanner; public class Appointment { public static void main(String[] args) { Scanner kin = new Scanner(System.in); Syste
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;
}
{
} }
你没有把你的月份乘以10;您刚刚在一个月后打印了一个0。print方法不会在您想要打印的内容之后放置任何内容,甚至连换行符都不会
Enter a number that corresponds to a month: 2
20
^^
| \
| --- The `0` is from `Days`
------ The `2` is from `month`
输出空格或其他措辞,或使用println在输出后输出换行符,以直观地区分两个变量的输出
另外,在正确分配后的几天内,在所有这些if语句之后打印,所以打印时它不是0。您的代码很好,但您应该使用 System.out.println而不是 系统输出 问题是,您先打印月份,然后在同一行中的数字0可变天之后立即打印
建议下次使用调试器:您只需打印月份,然后打印0,没有空格。在代码中,getDays方法从未被调用。它充满了错误。该代码无法实现您所说的。getDays是无用的,并且只有在打印结果后才修改主函数中的局部变量Days。您的月份没有被乘以10,但您正在打印月份号,然后在没有任何换行的情况下立即打印0。另外,在更改日期变量之前,您将打印它。