将两个长变量相除然后减去得到零
Divide two long vars then subtract gives zero
亲爱的,
我的 Java 代码中有一个小问题。代码应该划分两个长数字(这很好用)。当从结果中减去时它给出零,而它应该给出另一个结果!
该代码是关于在给定的分钟数内获取年数和天数。
import java.util.Scanner;
public class TestMinsToYearsDays {
public static void main(String[] args) {
// TODO Auto-generated method stub
MinsToYearsDays minsToYearsDays = new MinsToYearsDays();
Scanner sc = new Scanner(System.in);
System.out.print("Enter the number of Minutes: ");
minsToYearsDays.miniute = sc.nextLong();
long years;
years = minsToYearsDays.miniute / 525600L;
long remaining;
remaining = (( years-(minsToYearsDays.miniute / 525600L) ) * 365L);
System.out.println("\n Minutes are approximatly " + years + " years and " + remaining + " days " + minsToYearsDays.miniute);
}
}
years = minsToYearsDays.miniute / 525600L;
表示
years-(minsToYearsDays.miniute / 525600L) == 0
因此
remaining = ((years-(minsToYearsDays.miniute / 525600L)) * 365L);
为 0。
你的公式错了。如果你想计算剩余的分钟数(减去整年之后),它应该是:
remainingMinutes = minsToYearsDays.miniute - years * 525600L;
如果要计算剩余天数,应该是:
remainingDays = (minsToYearsDays.miniute - years * 525600L) / 1440;
亲爱的,
我的 Java 代码中有一个小问题。代码应该划分两个长数字(这很好用)。当从结果中减去时它给出零,而它应该给出另一个结果!
该代码是关于在给定的分钟数内获取年数和天数。
import java.util.Scanner;
public class TestMinsToYearsDays {
public static void main(String[] args) {
// TODO Auto-generated method stub
MinsToYearsDays minsToYearsDays = new MinsToYearsDays();
Scanner sc = new Scanner(System.in);
System.out.print("Enter the number of Minutes: ");
minsToYearsDays.miniute = sc.nextLong();
long years;
years = minsToYearsDays.miniute / 525600L;
long remaining;
remaining = (( years-(minsToYearsDays.miniute / 525600L) ) * 365L);
System.out.println("\n Minutes are approximatly " + years + " years and " + remaining + " days " + minsToYearsDays.miniute);
}
}
years = minsToYearsDays.miniute / 525600L;
表示
years-(minsToYearsDays.miniute / 525600L) == 0
因此
remaining = ((years-(minsToYearsDays.miniute / 525600L)) * 365L);
为 0。
你的公式错了。如果你想计算剩余的分钟数(减去整年之后),它应该是:
remainingMinutes = minsToYearsDays.miniute - years * 525600L;
如果要计算剩余天数,应该是:
remainingDays = (minsToYearsDays.miniute - years * 525600L) / 1440;