2013-10-28 32 views
0

Я искал около часа и еще не нашел решение моей проблемы. Я пытаюсь использовать свой ввод переменной scanner, чтобы использовать его позже в моем аргументе switch, но в настоящее время я застрял на второй строке, что правильный синтаксис в порядке, чтобы моя проблема работала правильно. Вот моя ява проблема:Сканер в 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

Просто сделайте 'double kwUsed;'? – nhgrif

+0

@Tdorno Я пытаюсь связать kwUsed с моим коммутатором, но kwUsed не инициирован, но если я попытаюсь инициировать kwUsed, мой синтаксис будет равен double kwUsed = kw.nextDouble(); но я не хочу иметь вход в строке два только в моем try/catch, чтобы проверить его. Я не знаю правильного синтаксиса, чтобы он соответствовал моему try/catch и switch. – user2926620

ответ

0

Просто хотел сказать, что я обычно не просто исправить чей код, а затем вставьте его, но в этом случае я чувствую, что это лучше для ОП просто увидеть некоторые из небольших ошибок, которые были сделаны, а не просто болтаться.

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

Смежные вопросы