Java 我如何获取在for循环迭代中生成的值,并在for循环之外使用它们,但使用相同的方法?
我希望能够将值从for循环中取出,并为for循环的单独迭代生成单独的值,以便将它们放入for循环下面的比较if/else语句中Java 我如何获取在for循环迭代中生成的值,并在for循环之外使用它们,但使用相同的方法?,java,for-loop,Java,For Loop,我希望能够将值从for循环中取出,并为for循环的单独迭代生成单独的值,以便将它们放入for循环下面的比较if/else语句中 public static void calculateBirthdays(Scanner console) { //Print purpose System.out.println("This program compares two birthdays"); System.out.println("and displa
public static void calculateBirthdays(Scanner console) {
//Print purpose
System.out.println("This program compares two birthdays");
System.out.println("and displays which one is sooner.");
Calendar cal = Calendar.getInstance();
int todayYear = cal.get(Calendar.YEAR);
int todayMonth = cal.get(Calendar.MONTH)+1;
int todayDay = cal.get(Calendar.DAY_OF_MONTH);
SimpleDateFormat d = new SimpleDateFormat();
int todayDayValue = absDayVal(todayMonth, todayDay, todayYear);
System.out.println("Today is " + d.format(cal.getTime()) + ", day #" + todayDayValue + " of the year.");
for (int i = 1; i <= 2; i++) {
System.out.println("Person " + i + ":\nWhat month, day and year were you born?");
int month = console.nextInt();
int day = console.nextInt();
int year = console.nextInt();
int daysPassed = absDayVal(month, day, year);
int daysInYear = leapYear(todayYear);
int daysUntilBday = daysAway(daysPassed, todayDayValue, daysInYear);
DecimalFormat df = new DecimalFormat("0.##");
System.out.println(month + "/" + day + "/" + todayYear + " falls on day #" + todayDayValue + " of " + daysInYear + ".");
if(todayDayValue == daysPassed){
System.out.println("Happy birthday!");
} else if (todayDayValue != daysPassed){
System.out.println("Your next birthday is in " + daysUntilBday + " day(s).");
System.out.println("That is " + df.format((percentUntil(daysUntilBday, daysInYear)) * 100) + " percent of a year away.");
}
}
if(percent < percent) {
System.out.println("Person 1's birthday is sooner.");
} else if (percent < percent) {
System.out.println("Person 2's birthday is sooner.");
} else if (percent == percent) {
System.out.println("Wow, you share the same birthday!");
}
}
publicstaticvoidcalculatebirthday(扫描仪控制台){
//印刷用途
println(“这个程序比较两个生日”);
System.out.println(“并显示哪个更快。”);
Calendar cal=Calendar.getInstance();
int todayYear=cal.get(日历年);
int todaymount=cal.get(Calendar.MONTH)+1;
int todayDay=cal.get(日历日/月);
SimpleDataFormat d=新的SimpleDataFormat();
int todayDayValue=absDayVal(今天月、今天日、今天年);
System.out.println(“今天是“+d.format(cal.getTime())+”,day#“+todayDayValue+”);
对于(inti=1;i,您可以像这样在循环外部声明它们
int month;
int day;
int year;
for (int i = 1; i <= 2; i++) {
System.out.println("Person " + i + ":\nWhat month, day and year were you born?");
month = console.nextInt();
day = console.nextInt();
year = console.nextInt();
...
}
int月;
国际日;
国际年;
对于(int i=1;我在循环外声明它们,在循环内赋值。只需补充说明,您的方法calculatebirthdies
不只是计算生日,实际上应该分为不同的方法。您不会期望名为calculatebirthdies
的东西使用Scanner
作为参数r、 我想它需要两个生日作为两个参数或其他什么。