2013-10-28 35 views
0

我已经搜索了大约一个小时,并且还没有找到解决我的问题。我试图使用我的扫描器变量输入来稍后将它用于我的开关参数,但是我现在被困在第二行上,正确的语法是为了让我的问题正常工作。 这里是我的Java问题:在java中的扫描仪将不匹配我的双变量

//创建KW输入扫描仪

Scanner kw = new Scanner(System.in); 
    double kwUsed = kw; 

    //Verify if KW is valid 
    try 
    { 
     //KW used data entry 
     System.out.println("Please enter KW used: "); 
     kwUsed = kw.nextDouble(); 
     System.out.println("KW entry valid"); 
    } 
    catch (Exception error) 
    { 
     System.out.println("Invalid entry"); 
     System.out.println(error); 
    } 

    //Date entry will be calculated by how much KW user enters 
    switch (input) 
    { 
     case "2/15/13": 
      double quarter1 = kwUsed * 0.10; 
      break; 
     case "4/15/13": 
      double quarter2 = kwUsed * 0.12; 
      break; 
     case "8/15/13": 
      double quarter3 = kwUsed * 0.15; 
      break; 
     case "11/15/13": 
      double quarter4 = kwUsed * 0.15; 
      break; 
     default: 
      System.out.println("Invalid date"); 

    } 
+2

这条线的重点是什么'double kwUsed = kw;'? – Tdorno

+0

只是'双kwUsed;'? – nhgrif

+0

@Tdorno我想把kw用于我的开关,但是kwUsed没有启动,但是如果我尝试启动kwUsed,我的语法是双kwUsed = kw.nextDouble();但我不想只在我的try/catch中有第二行的输入来验证它。我不知道正确的语法是否与我的try/catch和switch切换相对应。 – user2926620

回答

0

只想常说我不会只是修复某人的代码,然后将其粘贴,但在这种情况下,我觉得它的更好地让OP看到一些制造的小错误,而不是漫不经心。

import java.util.Scanner; 
import java.io.IOException; 
import java.io.FileReader; 
import java.io.File; 
import java.io.BufferedReader; 

public class MainTest { 
    public static void main(String[] args) { 

     Scanner kw = new Scanner(System.in); 
     double kwUsed = 0; 

     // Verify if KW is valid 
     try { 

      // KW used data entry 
      System.out.println("Please enter KW used: "); 
      kwUsed = kw.nextDouble(); 
      System.out.println("KW entry valid"); 
     } catch (Exception error) { 
      System.out.println("Invalid entry"); 
      System.out.println(error); 
     } 

     // Date entry will be calculated by how much KW user enters 
     String input; 
     System.out.println("Enter input case"); 
     input = kw.next(); 

     switch (input) { 
     case "2/15/13": 
      double quarter1 = kwUsed * 0.10; 
      break; 
     case "4/15/13": 
      double quarter2 = kwUsed * 0.12; 
      break; 
     case "8/15/13": 
      double quarter3 = kwUsed * 0.15; 
      break; 
     case "11/15/13": 
      double quarter4 = kwUsed * 0.15; 
      break; 
     default: 
      System.out.println("Invalid date"); 

     } 
      //handle your quarter1-4 here 
    } 
} 
+0

非常感谢!你明确地为我清理了一些东西。 – user2926620

+0

@ user2926620很高兴能帮到你。 – Tdorno