Java初学者:程序不编译;收到错误消息

时间:2014-01-25 15:27:58

标签: java jcreator

我刚刚开始学习和使用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并在“Build Output”下显示“Process Completed”并且它没有向我显示任何错误。但上面的错误是我在'一般输出'下得到的。任何帮助都会受到赞赏并记住,我对此非常陌生。

2 个答案:

答案 0 :(得分:2)

我没有编译错误。只是运行时异常

您的printf格式错误

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

name是字符串而不是数字d

Receipt\n Name: %d\n

Receipt\n Name: %s\n

s用于String

除此之外,程序运行正常。在我做出改变之前,我会得到

IllegalFormatConversionException: d != java.lang.String

这是有道理的,因为String不是数字

答案 1 :(得分:0)

您将看到java命令的使用情况。请按以下步骤操作:

  1. 导航到存储First.java文件的位置。
  2. 输入javac First.java并按Enter键。这将产生First.class个文件。
  3. 输入java First并按Enter键。请注意,这里没有提到文件扩展名。
  4. 请考虑PeeSkillet的答案,指出需要对您的计划进行哪些更改。