java won';与我的双变量不匹配

java won';与我的双变量不匹配,java,Java,我搜索了大约一个小时,还没有找到解决我问题的办法。我正在尝试使用scanner变量输入,以便稍后在switch参数中使用它,但为了使问题正常工作,我目前停留在第二行的正确语法上。 以下是我的java问题: //为KW输入创建扫描仪 Scanner kw = new Scanner(System.in); double kwUsed = kw; //Verify if KW is valid try { //KW used data ent

我搜索了大约一个小时,还没有找到解决我问题的办法。我正在尝试使用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");

    }

我只是想说,通常情况下,我不会只是修复某个人的代码然后粘贴它,但在这种情况下,我觉得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
    }
}

这条线的要点是什么
double kwUsed=kw?只需使用
双重代码?@Tdorno我正在尝试将kwUsed与我的交换机关联,但kwUsed未启动,但如果我尝试启动kwUsed,我的语法将是double kwUsed=kw.nextDouble();但是我不想在try/catch中只在第二行输入一个内容来验证它。我不知道与我的try/catch和switch相对应的正确语法。@user2926620查看我的答案,它为您提供了修复代码所需的所有正确语法。您认为如何
kwUsed=kw.nextDouble()正在做什么?你真的写了这段代码吗?此外,您正在切换您调用的
输入
字符串
变量,而不是切换您调用的
变量
kwUsed
…非常感谢!你帮我把事情弄清楚了。@user2926620很高兴我能帮上忙。