2011-09-24 59 views
1

我正在学习书籍“Java,如何编程”练习。我应该编写一个程序,以英里为单位驱动用户类型,并使用公升汽油用于未确定的行程次数。错误消息:“标识符预计”

该程序应该打印每英里每公升的旅程,并在最后平均英里公升。

我应该使用定点控制的重复,并打印英里公升作为浮点值。

总是收到的错误消息时,我试图编译:

GasolineUsage.java:39:预期 milPrLiter =(双)totalMil/totalLiters; (“The car drives%.2f miles pr liter gasoline \ n \ n”,milPrLiter);以及其中,
^ GasolineUsage.java:40: 类型System.out.printf的非法启动 ( “汽车驱动%.2f英里PR升 汽油\ n \ n” 个,milPrLiter);
^ GasolineUsage.java:40: expected System.out.printf(“The car drives%.2f miles pr liter gasoline \ n \ n”,milPrLiter);

^GasolineUsage.java:42:类,接口,或枚举预期}^5个 错误

的代码如下:

import java.util.Scanner; 
public class GasolineUsage 
{ 

    public static void main(String[] args) 
    {  
     int totalMil = 0; 
     int totalLiters = 0; 
     double milPrLiter1 = 0; 
     double milPrLiter; 

     Scanner inputMil = new Scanner(System.in); 
     Scanner inputLiters = new Scanner(System.in); 

     System.out.print("Type in miles first trip, to end type: -1 "); 
      int mil = inputMil.nextInt(); 
     System.out.print("Type in liters of gasoline used on first trip "); 
      int liters = inputLiters.nextInt(); 
      totalMil = totalMil + mil; 
      totalLiters = totalLiters + liters; 
     milPrLiter1 = (double) mil/liters; 
     System.out.printf("(%.2f miles pr liter this trip.)\n", milPrLiter1); 

     System.out.print("Type in miles on next trip "); 
      while (mil != -1) 
       { 
       mil = inputMil.nextInt(); 
        if (mil != -1) 
         {totalMil = totalMil+ mil; 

         System.out.print("Type in lters used on next trip: "); 
         liters = inputLiters.nextInt();} 
         totalLiters = totalLiters + liters; 

         milPrLiter1 = (double) mil/liters; 
         System.out.printf("(%.2f miles pr liter this trip.)\n", milPrLiter1);} 
       } 

       milPrLiter = (double) totalMil/totalLiters; 
       System.out.printf("The car drives %.2f miles pr liter gasoline\n\n", milPrLiter);    
    } 
} 

任何人都可以帮我吗?

回答

1

计算你的开合花括号,因为它们应该匹配。隐藏在代码中的额外左大括号会在您搜索时发现。请注意,对于这种类型的错误,查看抛出错误的行上方总是很好。