Help with arguments in Java

Answers and Replies

  • #2
595
0
I'd say your IDE is screwing with your mind... It looks like you have enter arguments correctly, are you sure you are running that configuration?

Can you try running the class file from a command line?

java BlankFiller arg0 arg1 arg2
 
  • #3
I'd say your IDE is screwing with your mind... It looks like you have enter arguments correctly, are you sure you are running that configuration?

Can you try running the class file from a command line?

java BlankFiller arg0 arg1 arg2
http://i52.tinypic.com/20rttec.jpg
 
  • #5
You have to run that from the directory where the compiled BlankFiller.class file is located. If it didn't compile, there will only be a BlankFiller.java file.
What?

Does anyone know why this isn't working? Did I input the arguments wrong?
 
  • #6
Borg
Science Advisor
Gold Member
1,877
2,321
What?

Does anyone know why this isn't working? Did I input the arguments wrong?
When you compile a java file, a .class file is created. That is what actually gets used when you run a java program. NetBeans probably created it but you have to be in that directory to run schip666!'s command line test. You ran your test from c:/users/fred. If BlankFiller.class isn't there, the test will fail with the reason shown on your link.
 
  • #7
595
0
Time to learn about CLASSPATH...

Look for BlankFiller.class.
In your command window, cd to that directory.
Then try: java -classpath . BlankFiller 1 2 3
 
  • #8
I found BlankFiller.class
what does "cd to that directory" mean?
 
  • #9
595
0
type: cd that-directory

god I love the GUI universe.

most likely there's something else wrong, but it is handy to know your way around a command line interface if you plan to program for anything but the web.
 
  • #10
ugh I have to leave but still no idea what you're trying to say
 
  • #11
Borg
Science Advisor
Gold Member
1,877
2,321
ugh I have to leave but still no idea what you're trying to say
cd is the dos command for "change directory". Let's say that your file is in a directory C:\Users\Fred\NetBeans directory (substitute what you found). Before you run the java command that failed, type this:

cd C:\Users\Fred\NetBeans

Note that dos is a really old languange and doesn't know about spaces. So if your directory had spaces anywhere, you have to put quotes around it like this:

cd "C:\Users\Fred\NetBeans"

Once you change to the correct directory, you can run your java test on the class file.
 
  • #13
Borg
Science Advisor
Gold Member
1,877
2,321
  • #14
Command promt says the "1 2 dog jumped over the 3 fox"
And "the arg1 arg2 dog jumped over the 3 dog"
 
  • #15
Borg
Science Advisor
Gold Member
1,877
2,321
Command promt says the "1 2 dog jumped over the 3 fox"
And "the arg1 arg2 dog jumped over the 3 dog"
Could you also paste the content of your main method in code tags?
Also, what did you type into the command prompt?
 
  • #16
Can you see Google Docs? http://tinyurl.com/OrangeYellowArguments [Broken]

And I did this exactly how the book told me to type it in:

class BlankFiller {
public static void main(String[] args) {
System.out.println("The " +args[0]
+ " " + args[1] + " fox "
+ "jumped over the "
+ args[2] + " dog."
);
}
}
 
Last edited by a moderator:
  • #17
595
0
Command promt says the "1 2 dog jumped over the 3 fox"
And "the arg1 arg2 dog jumped over the 3 dog"
That appears to be what you should expect to get. The argN's are put into the places that had arg[n] in the your original program code (IIRC...). Thus your netBums IDE is screwing with you somehow.

So... first, you may not be using the IDE correctly, but from casual examination of the screen shots you posted it appears that you are doing things right; so.... second, NET Beans is a networked java environment where programs are unlikely to have access to command line arguments anyway, thus they may have never implemented it right to start with.
 
  • #18
That appears to be what you should expect to get. The argN's are put into the places that had arg[n] in the your original program code (IIRC...). Thus your netBums IDE is screwing with you somehow.

So... first, you may not be using the IDE correctly, but from casual examination of the screen shots you posted it appears that you are doing things right; so.... second, NET Beans is a networked java environment where programs are unlikely to have access to command line arguments anyway, thus they may have never implemented it right to start with.
So my best bet is that this isn't my fault and I should wait for an update that fixes this issue?

The author is using Netbeans 6.5, I am using 7 anyway.
 
  • #19
Borg
Science Advisor
Gold Member
1,877
2,321
Try typing this in your command line:

java BlankFiller quick brown lazy

What comes back?
 
  • #20
Try typing this in your command line:

java BlankFiller quick brown lazy

What comes back?
https://docs.google.com/drawings/d/1ffRd24ddIKQtGcr6DcxKFRdcS98Z_NilFnSaeSC4pE0/edit?hl=en_US [Broken]

That one I get what I should get, but I can't get the arguments I type in to work
 
Last edited by a moderator:
  • #21
33,710
5,407
Then it seems that the NetBeans IDE is not passing the command-line arguments to your program correctly, but if you run you program from the command-line, things are as they should be.
 
  • #22
So you recommend using an different IDE?

God damn you have tons of posts
 
  • #23
33,710
5,407
So you recommend using an different IDE?
Not if that's the only problem.

Is there a readme file for this IDE? That's where they usually list bugs that are known issues.
 
  • #24
Borg
Science Advisor
Gold Member
1,877
2,321
So you recommend using an different IDE?
The IDE probably isn't set up right. From the other screenshots that you posted, it is working properly in dos.

Unfortunately, I haven't used NetBeans to figure out why it doesn't recognize the variables. From what I read on the NetBeans site for http://netbeans.org/kb/docs/java/project-setup.html#deploy-jvm" and verify that you've done everything the way that they've instructed?
 
Last edited by a moderator:
  • #25
Am I suppose to type something into the VM Options box?

So I'm suppose to type in the fully-qualified name in the Main Class field (for example, org.myCompany.myLib.MyLibClass). How do I find that?
 
Last edited:

Related Threads on Help with arguments in Java

  • Last Post
Replies
1
Views
3K
  • Last Post
Replies
5
Views
613
Replies
1
Views
2K
  • Last Post
Replies
1
Views
3K
Replies
4
Views
2K
Replies
2
Views
1K
Replies
2
Views
2K
  • Last Post
Replies
2
Views
2K
Replies
17
Views
5K
Top