-1
public class proj22
{
    public static void main(String[] args)
    {   float degreef, degreec, degree;
            string cel = "c";
            string far = "f";
            string unit;
            System.out.println("Enter a temperture:");
            scanner keyboard = new Scanner (System.in);
            degree = keyboard.nextFloat();
            System.out.println("Enter a c to designate Celsius, or an f to designate..");        
            unit = keyboard.next();
            if (unit.equalsIgnoreCase(cel)||unit.equalsIgnoreCase(far))
            {
                    if (unit.equalsIgnoreCase(cel))
                    {
                            degreec = 5*(degreef-32)/9;
                            System.out.println("The degree you entered in Celsius is" + 
                            System.out.println("The degree you entered in Fahrenheit" + 

                    }
                    else
                            degreef = degree;
                            degreef = (9*(degreec/5)+32);
                            System.out.println("The degree you entered in Fahrenheit" + 
                            degreec + "C");

            else
                    System.out.println("Error: incorrect letter usage.");

            }
    }
}

このコードは正常に機能しますが、27 行目でコンパイル時に次のようなエラーが発生します。

"proj22.java:27: error: 'else' without 'if'
        else
        ^

1 error"

これを修正するにはどうすればよいですか?

4

3 に答える 3

5

複数行ifの , else,forなどがある場合は、ブラケットを追加して、それらがブロックになり、コンパイラによって単一のステートメントとして解釈されるようにする必要があります。

else
{//you need to add a bracket here
    degreef = degree;
    degreef = (9*(degreec/5)+32);
    System.out.println("The degree you entered in Fahrenheit" + 
    degreec + "C");
}//and here

また、最後の else の後のブラケットは、その前に移動する必要があります。

于 2013-10-12T18:34:00.903 に答える