Java 这是一个逻辑错误吗?
我正在写一个程序来决定一个球员是否有资格参加全明星赛 我每次都得到一个“0”的输出。这是一个逻辑错误吗?我看不出来Java 这是一个逻辑错误吗?,java,Java,我正在写一个程序来决定一个球员是否有资格参加全明星赛 我每次都得到一个“0”的输出。这是一个逻辑错误吗?我看不出来 import javax.swing.JOptionPane; public class IfElseBattingEverage { public static void main (String[] args) { int hits; int atBats; int batAvg; // get
import javax.swing.JOptionPane;
public class IfElseBattingEverage
{
public static void main (String[] args)
{
int hits;
int atBats;
int batAvg;
// get number hits from user
hits = Integer.parseInt( JOptionPane.showInputDialog(null, "Enter number of hits") );
// get number of at bats from user
atBats = Integer.parseInt( JOptionPane.showInputDialog(null, "Enter number of at Bats") );
// calcualte batting average
batAvg = ((hits/atBats)*100);
System.out.println(batAvg);
// decision if...else
if (batAvg >= 30 )
{
System.out.println ("Congratulations! You are eligible for the all-star game, with a batting average of: " + batAvg + "%");
}
else
{
System.out.println ("Bummer! With a batting average of: " + batAvg + "% ,you are not eligible for the all-star game! Better luck next year!");
}
}
}
这可能是你的问题:
batAvg = ((hits/atBats)*100);
我会用这个:
batAvg = (100*hits/atBats);
hits/atBats
是一个整数除法,主要导致0
结果(如果hits