Java Beginner: программа не компилируется; получать сообщение об ошибке

Я только начинаю учиться и использовать Java. Я попытался создать простую программу тикетов:

import java.util.Scanner;

public class First {

public static void main(String[] args) {
    String name;
    int v_tickets, g_tickets;
    double vip=1000.00, gen=500.00, total;
    Scanner in=new Scanner(System.in);
    System.out.printf("Enter your name");
    name = in.next();
    System.out.printf("How many VIP tickets do you want?");
    v_tickets = in.nextInt();
    System.out.printf("How many general Tickets do you want?");
    g_tickets = in.nextInt();
    total = (v_tickets*vip)+(g_tickets*gen);
    System.out.printf("Receipt\n Name: %d\n %d VIP %6f\n %d General %6f\n Total %6f",name,v_tickets,v_tickets*vip,g_tickets,g_tickets*gen,total);

} //end main


} //end program

Но я продолжаю получать это сообщение об ошибке:

--------------------Configuration: <Default>--------------------
Usage: java [-options] class [args...]
       (to execute a class)
   or  java [-options] -jar jarfile [args...]
       (to execute a jar file)
where options include:
-d32      use a 32-bit data model if available
-d64      use a 64-bit data model if available
-server   to select the "server" VM
-hotspot      is a synonym for the "server" VM  [deprecated]
              The default VM is server.

-cp <class search path of directories and zip/jar files>
-classpath <class search path of directories and zip/jar files>
              A ; separated list of directories, JAR archives,
              and ZIP archives to search for class files.
-D<name>=<value>
              set a system property
-verbose:[class|gc|jni]
              enable verbose output
-version      print product version and exit
-version:<value>
              require the specified version to run
-showversion  print product version and continue
-jre-restrict-search | -no-jre-restrict-search
              include/exclude user private JREs in the version search
-? -help      print this help message
-X            print help on non-standard options
-ea[:<packagename>...|:<classname>]
-enableassertions[:<packagename>...|:<classname>]
              enable assertions with specified granularity
-da[:<packagename>...|:<classname>]
-disableassertions[:<packagename>...|:<classname>]
              disable assertions with specified granularity
-esa | -enablesystemassertions
              enable system assertions
-dsa | -disablesystemassertions
              disable system assertions
-agentlib:<libname>[=<options>]
              load native agent library <libname>, e.g. -agentlib:hprof
              see also, -agentlib:jdwp=help and -agentlib:hprof=help
-agentpath:<pathname>[=<options>]
              load native agent library by full pathname
-javaagent:<jarpath>[=<options>]
              load Java programming language agent, see java.lang.instrument
-splash:<imagepath>
              show splash screen with specified image
See http://www.oracle.com/technetwork/java/javase/documentation/index.html for more details.

Process completed.

Я использую JCreator и в разделе "Вывод сборки" написано "Процесс завершен", и он не показывает никаких ошибок. Но ошибка выше - это то, что я получаю в разделе "Общий вывод". Любая помощь будет оценена с этим и помните, я очень новичок в этом.

2 ответа

Решение

Я не получаю ошибок компиляции. Просто Runtime исключение

Ваш printf неверный формат

System.out.printf("Receipt\n Name: %d\n ...... , name...);

name это строка, а не число d

Receipt\n Name: %d\n

Должно быть

Receipt\n Name: %s\n

s для строки

Помимо этого, программа работает нормально для меня. Прежде чем я внес изменения, я бы получил

IllegalFormatConversionException: d != java.lang.String

Что имеет смысл, потому что String не число

Вам показывают использование java команда. Просто сделайте следующее:

  1. Перейдите туда, где ваш First.java файл хранится
  2. Тип javac First.java и нажмите ввод. Это даст First.class файл.
  3. Тип java First и нажмите ввод. Обратите внимание, что здесь не указано расширение файла.

Пожалуйста, примите во внимание PeeSkilletответ, указывающий, какие изменения необходимо внести в вашу программу.

Другие вопросы по тегам