Command line Argument Problem - '*'

Hi, Is there any problem in giving * as Command line argument.
My student was trying to write a calculator program but stuck :
Code Sample
public class test
public static void main(String[] args)
System.out.println(args[1]);
java test 2 + 2
No Problem
java test 2 * 2
gives Problem

It's not relevant to the programming language. The shell is what expands the *.
OTOH, I heard that MS-DOS filename expansion is spotty (that's been my experience actually) and that Java has a workaround built into it to make it make sense.
I'd encourage you to change the assignment (or however this is working out) to allow your student to submit the entire expression as a single argument:
java Calculator '2 * (3 + 2)'

Similar Messages

  • Problem associated with Command Line arguments

    hi ,
    I am not able to pass a file path as command line argument in java.
    Actually i want to run a java program from the command prompt passing a file path . Something like this i tried to do , but its not working.
    D:\VISHAL\src> java CopyFile C:\Documents and Settings\Administrator\Desktop\link.txt
    where ,
    CopyFile is the name of my class which i am going to run
    C:\Documents and Settings\Administrator\Desktop\link.txt is the argument.
    Can anyone tell me whether a java program accepts an argument like this, if yes please tell me the exact syntax..
    Thanks
    Vishal J
    Message was edited by:
    vishal_vj

    is there any other way of solving this?Y don't U try it out with the logic as mentioned
    below it wud be the case if U r not going with
    java CopyFile "C:\Documents and
    Settings\Administrator\Desktop\link.txt" 1
    String filepath = new String();
    for(int i = 0; i < Arg.length; i++)
    filepath.append(Arg);
    File f = new File(filepath);
    What????  This is a non-solution to a non-problem.  First of all, you would be constructing a filename without spaces, when the real path contains spaces.  Secondly, even if you did insert spaces it would not matter.  What if the String (and it does not have to be a filename) contained tabs rather than spaces.  The real (and really only) solution to the problem is to put quotes around the argument, for the exact reason stated in my last post.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Need Help with command line arguments for a class method

    Hey guys,
    I'm fairly new to programming in java.
    I want to a write a class method that adds up its command line arguments which are numbers. For example, if the input was .... 5 2 3....then the output would be 10.
    I have been told to use the Convert to convert a string to a double. I'm ok for writing the class method but I have no idea how to use Convert and why I need it in the method.
    Can anybody help please?

    Hey guys,
    I'm fairly new to programming in java.
    I want to a write a class method that adds up its
    command line arguments which are numbers. For
    example, if the input was .... 5 2 3....then the
    output would be 10.Okay. So you would receive the numbers to add as the String[] argument to a main method. The steps are simple:
    1) declare a variable for the count
    2) for each String in the array:
    2.1) extract the value as a double
    2.2) add this to the count
    3) output the resulting count
    I have been told to use the Convert to convert a
    string to a double.
    I'm ok for writing the class
    method but I have no idea how to use ConvertThere is no class Convert in the Java API.
    and why
    I need it in the method. Do you understand you need to somehow convert each String to a double (step 2.1)? Since Convert is unknown to me, maybe you should just take a look at class Double. It can help you do step 2.1, the rest should be trivial enough.
    http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Double.html
    Give it a go and feel free to post back with a specific problem you are having, accurately described if you please :-)

  • How to pass a command line argument to a jsp file...

    Hi guys,
    I'm writing a jsp file in which I have some java codes. I want to pass some command line arguments to that jsp file. In other words, I have some files located somewhere on my C drive and I want to pass the path to these files to my jsp file. How can it be done? I have never done before.
    Any suggestion will be very hepful...
    Thanks....

    I dont know if I truly understand your problem...
    For instance, when you place the url of your jsp you can add, at the end some parameters. For example:
    http://myserver/myapp/myjsp.jsp?MyParameter=C:\Temp\JavaTutorial.html
    In your JSP, you can place this code on a scriplet to get the value:
    String path = request.getParameter("MyParameter");
    Hope it helps.

  • ERROR: -1639 INVALID COMMAND LINE ARGUMENT

    Trying to install software for Shuffle that Santa brought and get this error messsage...
    "Error: -1639 invalid command line argument. Consult the windows Installer SDK for detailed command line help."
    Install stops at this point.
    SOMEONE HELP... My kid is chomping at the bit !
    Thanks.

    Ok I'll do some more searching but I found something in the community forums.
    APPSearch can not return this data into a property, so instead, for some unspeakable reason, returns a value of Null, follwed by another Null. This means that the property is created, and populated with two null characters. Bad news if the property also happens to be a PUBLIC property. All public properties are passed as part of the command line sent in a stream to the background installer process by the Execute Action. Since this stream now contains a double null value in a property, the stream is prematurely terminated. This creates an invalid command line, and thus the 1639 error.
    This user solved it by using the MSi Cleanup installer util.
    EDIT: A little more info...
    This problem is almost impossible to detect through the MSI log files since our friends at Microsoft chose to limit the length of any line in the log. It is impossible to get a dump of the full command line that generates this error.
    EDIT2:Note that error 1639 only ocurrs when the install package is run from removable media. When the package is run from local storage, the behavior is far more obtuse. The background install process, failing to receive a complete command line, is forced to run as if there had been no UI session, which in turn causes the APPSearch action to run again as if the install was running in silent mode. This causes re-evaluation of all properties a second time, destroying the feature selections made in the UI session, and also forcing the install to run under user credentials instead of elevated, even though AdminUser, ALLUSERS and Privleged properties are set. This is a very serious error that causes total failure of the installation.

  • Solaris 10 command-line argument to /etc/init.d/apache

    Does anyone know how to control the command-line argument sent to /etc/init.d/apache that ships with Solaris 10 11/06?
    # svcs *\apache\*
    shows Solaris is running Apache 1.3 as a legacy service with the FMRI lrc:/etc/rc3_d/S50apache.
    According to Sun documenation ("How to Modify a Command-Line Argument for an inetd Controlled Service" <http://docs.sun.com/app/docs/doc/817-1985/6mhm8o5ss?a=view>), one should be able to make desired changes using the inetadm command. The problem is,
    # inetadm
    doesn't show anything at all related to apache or httpd. I thought about changing the inittab file, but Sun's comments in the file pretty much say "hands off."
    I'm trying to have Apache SSL enabled at boot time (i.e. argument startssl instead of start). As a temporary hack, I've edited apachectl so that the "start" argument is processed like "startssl."
    Thanks!

    tmilbank wrote:
    Does anyone know how to control the command-line argument sent to /etc/init.d/apache that ships with Solaris 10 11/06?
    # svcs *\apache\*
    shows Solaris is running Apache 1.3 as a legacy service with the FMRI lrc:/etc/rc3_d/S50apache.
    According to Sun documenation ("How to Modify a Command-Line Argument for an inetd Controlled Service" /etc/rc3 services have nothing to do with inetd.
    The script is running from the above file (/etc/rc3.d/S50apache).
    That's normally apache 1.x. If you do 'svcs -a', you'll see disabled services as well, which will include the apache 2.x server.
    <http://docs.sun.com/app/docs/doc/817-1985/6mhm8o5ss?a=view>), one should be able to make desired changes using the inetadm command. The problem is,
    Neither version of apache runs from inetd. Are you interested in apache 1.x or apache 2.x?
    Darren

  • Error message in scanning:"The scanning software was launched with improper command- line arguments"

    We have downloaded and installed the HP Photosmart full feature Sostware and Drivers to Photosmart C3183 All-in-one.
    Click the Scan document in Solution Center-
    Error message displayed:
    The scanning software was launched with improper command-line arguments"
    Extended error information: 8,[(-1,0,0)]
    When Hp scan diagnostic utility  was used  - the message was: no scanners installed.
    how can we resolve the scanning problem
    nidataytay

    I have the same problem on a HP 5610 Officejet All-in-One.
    "The scanning software was launched with improper command-line arguments.
    8, [(-1, 0, 0)]"
    What is the solution? The scanner does not work. All other functions, print, fax, copy work from with in the HP Solutions Center software - but not the scanner.

  • How to read -Dname=value pair command line arguments

    Hi
    iam running one program called report.java as given below
    compile:
    javac report.java
    run:
    java report -Djava.path=home/arao/jaava1.5/bin
    my problem is how to read name and value pair given in command line argument.
    System.getProperty("java.path");//not working can anybody help how to read name and value
    pair of -D option

    If you put that string after the name of the class you are running, then it's a command line parameter. Your main() method can look at args[0] to see it. However it would be better if you just put it before the name of the class, where it's supposed to go if you want it to be treated as a system property.

  • Command Line argument is not valid please verify the switch.......???

    hello frends
    We are currently getting this error.
    Command Line argument is not valid please verify the switch.
    The code used to send the mail is
    mail ="mailto:?subject="+escape(subject)+"&body="+escape(email);
    document.location = mail;
    return ;
    this is a javascript code to open outlook mail to send emails.
    the main problem is,when we write
    mailto:?subject=abc&body=uvwxyz......
    then we should be getting abc as subj and uvwxyz as the body..,and we r getting it....
    but when we include ""(double quotes ) in either the subject or the body..,it is showing the error line mentioned above.
    and if em using the html tags in the body part..,it's giving everything including the tags,which z not desired.
    kindly help me .....

    shikha6g wrote:
    i've thought..,you people are brainy enough to help me out in the javascript too...!!so..,i relied on this forum and have posted my problem,coz solving this thing was really imp for me.
    i din't knew,dat i'll get such circastic replys here.sorryTo me, being brainy implies that you are a smart thinker and good at problem solving. It doesn't mean that you know a language that you never learned.

  • Prevent Startup Form from Loading using Command Line Arguments

    Hi there
    I'm developing a VB.NET windows forms application in VS2013.
    The application will have 2 ways of being executed, one being by the user manually and the other being automated by the task scheduler.
    When executed by the task scheduler, command line arguments will be used so that the application is aware that it is being run automatically and not by a user.
    My problem is that I want the startup form to load when run by a user but I don't want it to load when it is run automatically, I just want to execute code.
    Is it possible to prevent the startup form from loading by using the commandline arguments from the MyApplication_Startup event?
    Cheers

    Hi Aureuz,
    >>Is it possible to prevent the startup form from loading by using the commandline arguments from the MyApplication_Startup event
    It is impossible to accomplish it in the MyApplication_Startup event, we can use Form.Shown event:
    #Form.Shown Event
    http://msdn.microsoft.com/en-us/library/system.windows.forms.form.shown(v=vs.110).aspx
    If we start a form by using the commandline arguments, the count of CommandLineArgs will be above one, if so, use Me.Hide() method to hide this form.
    Private Sub Form1_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown
    Dim args As String() = Environment.GetCommandLineArgs()
    If args.Count > 1 Then
    Me.Hide()
    Else
    Me.Show()
    End If
    End Sub
    You can also uncheck "Enable application framework" on the project properties application tab and select your startup object to a module object:
    Module Module1
    Sub Main()
    Dim args As String() = Environment.GetCommandLineArgs()
    If args.Count > 1 Then
    'Run your background code
    Else
    Dim f As New Form1
    f.ShowDialog()
    End If
    End Sub
    End Module
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Command line arguments to Captive Runtime Air App

    I am having problems passing command line arguments to my Captive Runtime Air App on Mac OS X.  Argument handling occurs perfectly when running in ADL, via the InvokeEvent.INVOKE event.  However, when running the native executable, it seems that no command line arguments are getting passed through.
    How do I pass command line arguments into my Captive Runtime Air App?

    See:
    http://javafx-jira.kenai.com/browse/RT-24993
    "Native packaging: native launcher should pass command line parameters to the app"
    fixed for jdk7u10
    jdk7u10 is downloadable from here:
    http://jdk7.java.net/download.html
    It may take a week or two for the fix to propagate into there.

  • Command line arguments with a Labview pda applicatio​n

    Hi Everyone,
    I am in the process of writing some Labview code to run on a PDA that is called from another vendor's software. When called, I need to pass some information to it (in the form of an integer) and then return an error code when it has finished its task (again, as an integer).
    Not being able to compile a my application as a labview dll for to run on a PDA with Windows Mobile 2003, I was hoping to be able to pass command line arguments to my program when compiled as an executable. This doesn't seem to be possible.
    Could someone please confirm that Labview PDA applications do not support command line arguments?
    Any suggestions on how to meet my objective would be most welcome .
    Regards,
    Mark

    Paolo,
    Thanks for your input: storing this information in a text file is a choice we are looking at. But it does leave us with the problem that the vendor's software will not necessarily know when our program has finished running, unless it continuously polls the file to see if there has been any update.
    A dll would be ideal. I was hoping there might be a clever way of emulating this.
    Regards,
    Mark.

  • Help with char and command line arguments

    I am writing a program that takes 2 command line arguments (such as 4 b, or 3 4, etc.). It uses the first argument to determine the height of a triangle (how many rows high), and the second is the character with which the triangle is drawn.
    My problem is I tend to code backwards - go for the bigger part and then figure out the smaller things. So, I've written a program that prints out this triangle, BUT I can't figure out how to get the command line arguments into it properly. A number works fine because I can:
    size = Integer.parseInt(args[0]);
    but what do I do if the second argument is a character? Args is a String array (I've been fighting with it for the past 4 hours, so I KNOW its a String array) - so how can I get a char to be read as args[1]?
    Here is my code before adding in the second argument (the char):
    public class Triangle
    public static final void main(String[] args)
    int size;
    if (args.length > 0)
    try
    size = Integer.parseInt(args[0]);
    catch(NumberFormatException e)
    System.out.println("Input Error");
    createFilledTriangle(size);
    System.out.println();
    public static void createFilledTriangle(int size)
    int i = 0;
    int j = 0;
    for(i = size, j = 1; i > 0; i--, j +=2)
    printChar(" ", i);
    printChar("*", j); <-----Instead of using * I want to use the second command line arg
    System.out.println();
    private static void printChar(String str, int total)
    for(int i = 0, i < total; i++)
    if(i%2 == 1)
    System.out.print(str);
    else
    System.out.print(" ");
    Thank you for any help in advance!

    I was sure i send it the other day, i probably send it to the wron guy.
    This will give you more idea about drawing.
    import java.awt.*;
    import java.awt.event.*;
    public class Args extends Frame
         Panel panel = new Tpan();
         int   arg1;
         char  arg2;
    public Args(int a1, char a2) 
         super();
         arg1 = a1;
         arg2 = a2;
         setBounds(1,1,600,400);     
         setLayout(new BorderLayout());
         addWindowListener(new WindowAdapter()
         {     public void windowClosing(WindowEvent ev)
              {     dispose();
                   System.exit(0);
         add("Center",panel);
         setVisible(true);     
    public class Tpan extends Panel
    public Tpan()
    public void paint(Graphics g)
         super.paint(g);
         g.setColor(Color.blue);
         g.drawLine(120,110-arg1,80,110);
         g.drawLine(120,110-arg1,160,110);
         g.drawLine(80,110,160,110);
         g.setColor(Color.red);
         g.drawLine(120,110-arg1,120,110);
         g.setColor(Color.black);
         g.drawString(""+arg2,116,110-arg1/2+10);
    public static void main (String[] args) throws InterruptedException
    // get the 2 arguments from the args insread of a1= , a2=
         int  a1  = 60;
         char a2 = 'a';
         new Args(a1,a2);
    Noah
    import java.awt.*;
    import java.awt.event.*;
    public class Args extends Frame
         Panel panel = new Tpan();
         int arg1;
         char arg2;
    public Args(int a1, char a2)
         super();
         arg1 = a1;
         arg2 = a2;
         setBounds(1,1,600,400);     
         setLayout(new BorderLayout());
         addWindowListener(new WindowAdapter()
         {     public void windowClosing(WindowEvent ev)
              {     dispose();
                   System.exit(0);
         add("Center",panel);
         setVisible(true);     
    public class Tpan extends Panel
    public Tpan()
    public void paint(Graphics g)
         super.paint(g);
         g.setColor(Color.blue);
         g.drawLine(120,110-arg1,80,110);
         g.drawLine(120,110-arg1,160,110);
         g.drawLine(80,110,160,110);
         g.setColor(Color.red);
         g.drawLine(120,110-arg1,120,110);
         g.setColor(Color.black);
         g.drawString(""+arg2,116,110-arg1/2+10);
    public static void main (String[] args) throws InterruptedException
    // get the 2 arguments from the args insread of a1= , a2=
         int a1 = 60;
         char a2 = 'a';
         new Args(a1,a2);

  • Charset encoding of command-line arguments

    I have a java application which accepts a string from command line arguments like this
    java myapp <arguments>What will be the charset encoding of the arguments? It may contain some foreign characters.
    The default charset encoding of my JVM?? is windows-31j.
    System.out.println(Charset.defaultCharset().name());
    // output: windows-31jI need to convert the arguments into bytes array but i don't know what charset to specify in arguments.getBytes()?
    Please help.

    Kyowa wrote:
    I need to convert the arguments into bytes array but i don't know what charset to specify in arguments.getBytes()?
    Please help.The arguments are presented as String data, which should always be in UNICODE, regardless of the encoding used by the platform. There could be problems with conflict between the command line shell and the JVM with non-Latin characters, which would be a matter of configuration, but the string you get should be UNICODE.
    When you chose to convert a UNICODE string to a byte array or stream then you use whatever encoding you want the bytes to be in. In the Java model, it's characters stored as bytes which are encoded in various ways. The encoding encodes to and from the UNICODE characters used in Strings.

  • Automate Discoverer 4.1 install; Any command line arguments?

    I'm working on automating the install of Discoverer 4.1 for use within my company. Does the setup.exe or orainst.exe take any command line arguments? Can it be configured for a default and silent install? Similiar to .msi? or Installshield setup.exes?
    Please provide any command lines or arguments or a resource for these.
    Thanks,
    Chris

    >
    I have added the needed languages to Windows, and I
    can produce the foreign characters using the keyboard.You can produce the characters in a command console window?
    But when I pass strings containing those foreign chars
    as command line arguments to a Java application, the
    chars are replaced with question marks (\u003f) when I
    get them using the args array.
    You see the question marks on the console window? Did you actually look at the char value to confirm that the value is 0x003f? Sometimes a font problem will cause ? to display even though the underlying character is still being sent to the console or GUI component.
    For instance, in a English Windows XP, I set the input
    language to be Japanese. Then, I call my simple
    application, which echoes the unicode code for each
    char in each command line argument, as well as the
    file.encoding, user.region and user.language
    properties.
    Windows has a couple of active charsets at any point in time: the file and console code page (OEM charset) and its GUI charset (ANSI charset). The file.encoding property reports the ANSI charset, not the OEM charset used in the console and file system.
    Try this: set your "system" locale to Japanese as well. This will force the console charset to be 932 as well. Type "chcp" on the console to check what windows thinks the charset is.
    John O'Conner

Maybe you are looking for