Java代码问题:划分两个变量
我正在尝试为我的Java类创建一个简短的程序,该程序要求我计算一名球员的平均击球率。由于某种原因,当我将这两个变量分开时,即使用户输入数据,我也得到了0.0。我添加了print语句来尝试调试我的代码,但是在用户输入这些语句后,这些数字就会出现,但当我将它们传递给battingAvg时,它们不会分开。其他人能发现我的错误吗Java代码问题:划分两个变量,java,Java,我正在尝试为我的Java类创建一个简短的程序,该程序要求我计算一名球员的平均击球率。由于某种原因,当我将这两个变量分开时,即使用户输入数据,我也得到了0.0。我添加了print语句来尝试调试我的代码,但是在用户输入这些语句后,这些数字就会出现,但当我将它们传递给battingAvg时,它们不会分开。其他人能发现我的错误吗 import java.util.Scanner; public class Problem42 { public static void main(String[
import java.util.Scanner;
public class Problem42 {
public static void main(String[] args) {
//Keyboard input for hits & number of at-bats
Scanner numberOfHits = new Scanner( System.in);
System.out.print("How many hits does the batter have?");
int hits = numberOfHits.nextInt();
System.out.println(hits);
Scanner numberOfBats = new Scanner( System.in);
System.out.print("What is the batters number of at-bats?");
int atBats = numberOfBats.nextInt();
// Calculating the batting average
double battingAvg = (hits) / (atBats);
System.out.println(battingAvg);
//Eligibility for the All Stars Game
if (battingAvg > .300) {
System.out.println("Player is eligible for All Stars Game.");
} else {
System.out.println("Player is ineligible for All Stars Game.");
}
numberOfHits.close();
numberOfBats.close();
}
}
由于命中
并且atBats
是整数,因此整数除法正在发生。将其中任何一个设定为加倍以获得double
结果
double battingAvg = hits / (double)atBats;
很抱歉,我不知道是什么导致了这个问题,所以当我没有意识到这是双变量的问题时,我无法搜索与“双除法行为错误”相关的问题。
double battingAvg = hits / (double)atBats;