我必须编写一个程序,我在其中输入棒球统计数据,并且它出现了持续击球率,然后重新说出了球员的名字,然后把它放在了一个哨兵圈上。我目前的代码如下。在我把它变成一个循环之前,我试图让它与一个一起工作。当我跑去测试时,我得到UnknownFormatConversionException
。这是什么意思?我该如何修复我的代码?
import java.util.Scanner;
public class bata
{
public static void main(String[] args) throws Exception
{
double ba,sp,tb;
int tri,dou,sin,hr,ab,hits;
String name;
Scanner sc = new Scanner(System.in);
System.out.print("Enter Singles");
sin = sc.nextInt();
System.out.print("Enter Doubles");
dou = sc.nextInt();
System.out.print("Enter Triples");
tri = sc.nextInt();
System.out.print("Enter Homeruns");
hr = sc.nextInt();
System.out.print("Enter At bats");
ab = sc.nextInt();
System.out.print("Enter Player name");
name = sc.nextLine();
System.in.read();
tb= (sin + (dou*2) + (tri *3) +(hr *4));
hits = sin+dou+tri+hr;
sp= tb/ab;
ba= hits/ab;
System.out.println(""+name);
System.out.printf("Slugging % is %.3f\n", sp);
System.out.printf("Batting avg os %.3f\n", ba);
}
}
答案 0 :(得分:6)
使用双%
退出%%
符号:
System.out.printf("Slugging %% is %.3f\n", sp);
// ^------------- escaping
答案 1 :(得分:0)
当您需要一个整数并从扫描程序中读取字符串时,会发生UnknownFormatConversionException。如果您可以发布您的输入文件会很有帮助。
另外,使用另一个%转义%符号。
System.out.printf("Slugging %% is %.3f\n", sp);