如何使用一个double添加带变量的double

时间:2014-09-23 23:29:55

标签: java double

public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    System.out.println("Insert value for year (Ez = 2014): ");

    double year = in.nextDouble();
    System.out.println("Insert value for day (Ex = 12): ");

    double day = in.nextDouble();
    System.out.println("Insert number for month (Ex = 3): ");

    double month = in.nextDouble();
    double totalDays = day;

    if (month == 1) {
    } else if (month == 2) { 
        double totalDays = (totalday + 31);
    }
}

我试图将totalDays加倍并在if语句中使用它。我想用变量添加它而不再使用双打。怎么样?

2 个答案:

答案 0 :(得分:1)

您的代码错误地重新声明条件内的totalDays。但是,重新声明内部范围中的变量并不是您想要做的。您应该使用相同的变量。使用复合add-assign运算符,如下所示:

totalDays += 31;

答案 1 :(得分:0)

如果你的意思是你想避免每个月重复写totalDays = totalDays + 31,那么你需要一个函数。

对于函数和main都要查看totalDays,它需要是在main之外声明的成员变量,而不是main函数的本地变量。

由于您在main中编写静态函数,因此totalDays也需要是静态的。

public class getSystemInfo {

static double totalDays = 0;

public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    System.out.println("Insert value for year (Ez = 2014): ");

    double year = in.nextDouble();
    System.out.println("Insert value for day (Ex = 12): ");

    double day = in.nextDouble();
    System.out.println("Insert number for month (Ex = 3): ");

    double month = in.nextDouble();
    totalDays = day;

    if (month == 1) {       
    } else if (month == 2) { 
        addThirtyOne();
    }

}

 static void addThirtyOne()
    {
      totalDays = totalDays + 31;
    }

}