为什么我的月份输入乘以10?

时间:2014-11-18 00:22:48

标签: java

我正在尝试创建一个接受一个月用户输入的类,然后输出所述月份的天数。每当我测试我的课程时,它都没有给我一个天数的输出,而只是将月份数乘以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;
        }
     {


   } }

3 个答案:

答案 0 :(得分:4)

您没有将您的月份乘以10;你刚刚在月份之后立即打印了0print方法不会在您要打印的内容之后放置任何内容,甚至不会换行。

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()从未被调用过。它充满了错误。