Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 这是一个逻辑错误吗?_Java - Fatal编程技术网

Java 这是一个逻辑错误吗?

Java 这是一个逻辑错误吗?,java,Java,我正在写一个程序来决定一个球员是否有资格参加全明星赛 我每次都得到一个“0”的输出。这是一个逻辑错误吗?我看不出来 import javax.swing.JOptionPane; public class IfElseBattingEverage { public static void main (String[] args) { int hits; int atBats; int batAvg; // get

我正在写一个程序来决定一个球员是否有资格参加全明星赛

我每次都得到一个“0”的输出。这是一个逻辑错误吗?我看不出来

    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整数除法…尝试(100*hits)/atBats。。。