Search code examples
javajcreator

Java Beginner: Program not compiling; getting error message


I am just beginning to learn and use java. I tried creating a simple ticket program:

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

But I keep getting this error message:

--------------------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.

I am using JCreator and under 'Build Output' it says 'Process Completed' and it's not showing me any errors. But the error above is what I'm getting under 'General Output'. Any help would be appreciated with this and remember, I am very new at this.


Solution

  • I get no compile errors. Just Runtime exception

    Your printf format is wrong

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

    name is a String not a number d

    Receipt\n Name: %d\n
    

    Should be

    Receipt\n Name: %s\n
    

    The s is for String

    Other than that, the program runs fine for me. Before I made the change, I would get

    IllegalFormatConversionException: d != java.lang.String
    

    Which makes sense because String is not a number