2016-03-03 3 views
0

Просто попасть в java, абсолютный новичок. Использование Netbeans IDE8.1Исключение в теме "main" java.util.regex.PatternSyntaxException:

Вот простая программа, которую я напечатал дословно из текста, который построил 'ОК':

package volume2; 

import java.util.Scanner; 


public class Volume2 { 

    public static void main(String[] args) 
    { 
    final double BOTTLE_VOLUME = 2; 
    final double LITER_PER_OUNCE = 0.0296; 
    final double CAN_VOLUME = 12 * LITER_PER_OUNCE; 

    System.out.print("Please enter the number of bottles: "); 

    Scanner in = new Scanner(System.in); 
    int bottles = in.nextInt(0); 

    double totalVolume = bottles * BOTTLE_VOLUME; 

    System.out.print("Please enter the number of cans: "); 
    int cans = in.nextInt(0); 

    double additionalVolume = cans * CAN_VOLUME; 

    totalVolume = totalVolume + additionalVolume; 

    System.out.print("Total volume: "); 
    System.out.println(totalVolume); 

    // TODO code application logic here 
} 

}

Однако, вот вывод:

пробег:

Исключение в потоке "основного" java.util.regex.PatternSyntaxException: Unclosed голец класс актера около индекса 525 (и т. д.) ^ на java.util.regex.Pattern.error (Pattern.java:1955) на java.util.regex.Pattern.clazz (Pattern.java:2548) на java.util.regex.Pattern.clazz (Pattern.java:2504) в java.util.regex.Pattern.clazz (Pattern.java:2504) в java.util.regex.Pattern.clazz (Pattern.java: 2504) при java.util.regex.Pattern.clazz (Pattern.java:2504) при java.util.regex.Pattern.clazz (Pattern.java:2504) т.д ....

(Я знаю, что я не для матируйте текст запуска и, вероятно, код правильно, поэтому, если есть какие-либо ссылки на то, как правильно поэтапно на этих форумах, дайте мне знать. В «Как я могу опубликовать ...» не указывается, как отправлять выходные данные).

+0

Вы пробовали компилировать ни с чем в основном классе? Эта ошибка звучит так, как будто она связана с вашей настройкой. в том числе полная трассировка стека. – Julie

+0

Помимо полной трассировки стека, также отправляйте то, что вы вводите в командной строке. –

+0

Полная трассировка стека, означающая весь вывод выполнения? Я попытался опубликовать его здесь как ответ, но слишком много символов. На самом деле, получается, что программа не построена нормально, и я не могу вводить какие-либо данные. – planks

ответ

0

https://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#nextInt()

Метод nextInt() является перегруженным методом, одна формы не принимает никаких аргументов, и одна формы принимает целочисленный аргумент, который является Radix от числа, которое читается. Вы используете последнее в своем коде и снабжаете его значением радиуса 0, что является недопустимым. Я предполагаю, что вы вводите числа в базе 10, поэтому вы можете использовать форму без аргументов.

int bottles = in.nextInt(); 
    ... 
    int cans = in.nextInt(); 
+0

да, это сработало. Благодаря! – planks

+0

сладкий, получайте удовольствие от ваших расчетов :) –