必需:变量找到:值错误基于Java文本的计算器

时间:2014-10-18 21:01:06

标签: java compiler-errors java.util.scanner

Hello Stack Overflow。

我的代码有问题。目标是创建一个基于文本的计算器,读取输入文件并处理方程。第一个数字告诉程序有多少行。我想我设置了那个部分,count是行数。这是我到目前为止所得到的。

Scanner equationScan;
    int count;
    double a=0;
    double b=0;
    double calc1;

    equationScan = new Scanner(new File("calculator.txt"));

    count = equationScan.nextInt();

    while(count > 0)
    {
        String line = equationScan.nextLine();

        if(line.equals("sin"))
        {
            a = equationScan.nextDouble();   *Error shows up here. Req: variable Found: value
            Math.sin(a)= calc1;
        }
    }

目标是一些'如果'该计划的声明。我理解这一部分,但我无法解决这个错误。文本文件的第一行读取一个整数,我试图看到文件的第二行读取双重的罪并计算并存储它。非常感谢帮助!

2 个答案:

答案 0 :(得分:1)

更改正在发表评论。

package calculator;

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class calc {

    public static void main(String[] args) {



        Scanner equationScan = null;
        int count;
        double a=0;
        double b=0;
        double calc1;

        try { //optional: add a try catch block to catch FileNotFoundException exception
            equationScan = new Scanner(new File("calculator.txt"));
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        count = equationScan.nextInt();
        equationScan.nextLine();    //add a nextline() according to what TOM pointed

        while(count > 0)
        {
            String line = equationScan.nextLine();

            if(line.equals("sin"))
            {
                String value=equationScan.nextLine(); //Parse the double to a string
                a=Double.parseDouble(value);

                calc1 = Math.sin(a) ; //Assignment should be at the right sign of the = operator
            }
        }


    }
}

答案 1 :(得分:0)

作业总是采用

格式
variable = value;

你所做的就是在赋值运算符=的左侧写下你正在计算的值,在右侧写下你想要放入值的变量。