Two Laptop Bag*
The moose likes Beginning Java and the fly likes args.length problem Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "args.length problem" Watch "args.length problem" New topic
Author

args.length problem

Andrew Parker
Ranch Hand

Joined: Nov 12, 2001
Posts: 178
Hi,
I have the following class.
public class Hypotenuse
{
public double calcHypotenuse(double sideA, double sideB)
{
return (Math.sqrt(Math.pow (sideA, 2) + Math.pow (sideB, 2)));
}
public static void main (String args[])
{
Hypotenuse hypot;
double sideA, sideB, sideC;
if (args.length < 2) { //Don't understand why it will print out the error message as I pass args[0] and args[1] only.
System.err.println(
"Usage: java Hypotenuse <side a> <side b>");
System.exit(1);
}
sideA = Double.valueOf(args[0]).doubleValue(); //Will this assignment create a double value for sideA?
sideB = Double.valueOf(args[1]).doubleValue();
hypot = new Hypotenuse();
sideC = hypot.calcHypotenuse(sideA, sideB);
System.out.println(
"Given a triangle with two sides: " + sideA +
" and " + sideB + ", the longest side is: " + sideC);
//Why don't this result print out?
}
}

Thanks for help.
Andrew
jason adam
Chicken Farmer ()
Ranch Hand

Joined: May 08, 2001
Posts: 1932
Originally posted by Andrew Parker:

if (args.length < 2) { //Don't understand why it will print out the error message as I pass args[0] and args[1] only.
System.err.println(
"Usage: java Hypotenuse <side a> <side b>");
System.exit(1);
}

Not sure what you are asking here. What you have is that if someone runs java Hypotenuse, and either puts no arguments or 1 argument, that error prints out (this seems to be the desired effect). 2 or more arguments causes the program to continue as normal.

sideA = Double.valueOf(args[0]).doubleValue(); //Will this assignment create a double value for sideA?
sideB = Double.valueOf(args[1]).doubleValue();


Better way to do this would be to call Double.parseDouble() on the strings instead.
Jason
Marilyn de Queiroz
Sheriff

Joined: Jul 22, 2000
Posts: 9044
    
  10

If I type
java Hypotenuse 3 4
It prints
Given a triangle with two sides: 3.0 and 4.0, the longest side is: 5.0

I guess I don't understand your question.

JavaBeginnersFaq
"Yesterday is history, tomorrow is a mystery, and today is a gift; that's why they call it the present." Eleanor Roosevelt
Andrew Parker
Ranch Hand

Joined: Nov 12, 2001
Posts: 178
I am sorry. I forgot to pass the numeric parameters.
Thanks for help.
Andrew
 
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
 
subject: args.length problem
 
Similar Threads
Calling on another method...
Large number
Standard Deviation
Inheritance problem in Eclipse
Wrapper classes: Sense of "valueOf" method?