2014-08-15 3 views
0

Вот код, который продолжает говорить, незаконное начало выражения:ошибка нелегальный начало выражения 11111

public static conversionRate= 4.546; 

Вот полный код:

/** 
* Write a description of class VolumeConversion here. 
* 

* @author (Aneeqa Rustam) 
* @version (07/08/2014) 
*/ 

public class VolumeConversion 
{ 

// instance variables - replace the example below with your own 


    /** 
    * Constructor for objects of class VolumeConversion 
    */ 
    public VolumeConversion() 
    { 
    public static conversionRate= 4.546; 

    znaslcmlkmlskm(String[]args) 

     //Declare the variable and constants 

     double litres= 0; 
     double gallon= 14; 

     //Perform the conversion calculation 

     litres= gallon* conversionRate; 

     //This is the output result that is going to be shown to the user 

    System.out.println("The number of litres in "+gallons+ "gallons is" +litres); 

    } 
} 

ответ

4

Вам нужен тип переменной. Например:

public static float conversionRate = 4.546f; 

Вы также хотите разместить это вне конструктора как переменную уровня класса.

1

Переменная conversionRate не указывает тип своего объявления.

Возможные решения:

public static float conversionRate = 4.546f; 
public static double conversionRate = 4.546; 

Кроме того, что вы пытаетесь объявить эту переменную в конструкторе (а «метод»). Это не работает. Он должен быть объявлен в пределах class, а не в методах.

+0

Примечание: вам не нужно использовать 'd' для двойки, поскольку java интерпретирует числовые литералы с десятичными точками как двойные. – nmore

+0

Да, правда;) Thx. – MrTux

1

Тип отсутствует в объявлении переменной

0

Ну, это один совершенно очевидно, - вы не определили тип данных для conversionRate переменной. То, что вы, вероятно, захотите использовать здесь, это тип данных double, но я также предлагаю посмотреть на BigDecimals для получения дополнительной информации.

Пример кода:

public static double CONVERSION_RATE = 4.546; 

Я лично рекомендую против использования float типа данных (в соответствии с рекомендациями @MrTux) в реальных проектах, так как это приводит к тому, что ваш код неуклюжими (ненужное литье & синтаксический) и имеет очевидное ограничение ограниченного диапазона значений. Однако в большинстве случаев штраф за эффективность, возникающий в результате использования double вместо float, является минимальным.

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