解析时到达文件的末尾

时间:2015-03-10 17:42:03

标签: java parsing

我是java编程的新手。我试图编写一个代码,将温度从华氏温度转换为摄氏温度,反之亦然,我在解析错误时到达文件的末尾。那么我应该怎么做才能解决它

package fahrenheittocelsius;

import java.util.Scanner;

public class Fahrenheittocelsius
{



    public static void main(String[] args)
    {
        String firstchoice ;
        String ftc ="fahrenheit to celsuis" ;
        String ctf = "celsius to fahrenheit";

        System.out.println("Do you want to convert from  'fahrenheit to celsuis' or 'celsius to fahrenheit' ");

        Scanner firstscan = new Scanner(System.in);


        firstchoice = firstscan.nextLine();

        if (firstchoice.equals(ftc) );
        {




        System.out.println("Write in the temperature in Fahrenheit that you want to convert it to celsius ");

        Scanner scan1 = new Scanner(System.in);

        double f ;

        f = scan1.nextDouble();

        double c ;

        c= (5/9.0)* (f-23) ;

        System.out.println("the temperature in celsius is " + c );

        }

         if (firstchoice.equals(ctf) );
        {




        System.out.println("Write in the temperature in celsuis that you want to convert it to fahrenheit ");

        Scanner scan2 = new Scanner(System.in);

        double CC ;

        double FF ;

        CC = scan2.nextDouble();

        FF= (CC * 2) + 30 ;

        System.out.println("the temperature in celsius is " + FF);

  }

 }

2 个答案:

答案 0 :(得分:2)

这意味着您忘记了}某个地方。

我计算4个开口花括号,但只有3个闭合括号。寻找你错过的地方。

另外,在if语句后删除分号。

if(someCondition){
    //do stuff
}

不是

if(someCondition);{
    //do stuff
}

答案 1 :(得分:1)

你的第二个如果没有结束}

也建议,不要让用户编写字符串,而是让他写入int。 1摄氏度到华氏度,2华为摄氏度 - 摄氏度。 while语句中的switch和cases使这类程序更容易理解。您可以添加案例0以退出并结束程序。