Support Forums
Netbeans and Arguments (n00bish question) - Printable Version

+- Support Forums (https://www.supportforums.net)
+-- Forum: Categories (https://www.supportforums.net/forumdisplay.php?fid=87)
+--- Forum: Coding Support Forums (https://www.supportforums.net/forumdisplay.php?fid=18)
+---- Forum: Java Programming (https://www.supportforums.net/forumdisplay.php?fid=22)
+---- Thread: Netbeans and Arguments (n00bish question) (/showthread.php?tid=6922)



Netbeans and Arguments (n00bish question) - shadywatcher212 - 05-08-2010

Ok so this is a really n00bish question but i cant seem to find an answer for this.

Here is my source code:
Code:
class NewRoot {
    public static void main(String[] args){
        int number = 100;
        if (args.length > 0) {
            number = Integer.parseInt(args[0]);
        }
        System.out.println("The square root of "
                + number
                + " is "
                + Math.sqrt(number));
    }
}
I went to Run>Set Project Configuration>Customize and changed the argument to 169. I ran the file and it gives me the output of
Code:
The square root of 100 is 10.0

My question is why is it not taking the argument of 169 instead of evaluating 100? I checked the length of the argument and its 3. Any help would be appreaciated. Dont be to harsh im still begining Java.


RE: Netbeans and Arguments (n00bish question) - uber1337 - 05-13-2010

Well I'm no Java expert but the only function argument you have is:
Code:
(String[] args)
If you want it to evaluate a different number you can just manually change
Code:
int number = 100;
Or you can make it ask for user input.
For example, running this code:
Code:
class NewRoot {
    public static void main(String[] args){
        int number = 25;
        if (args.length > 0) {
            number = Integer.parseInt(args[0]);
        }
        System.out.println("The square root of "
                + number
                + " is "
                + Math.sqrt(number));
    }
}

Makes it output the square root of 25.
Similarly, this script asks for a number from the user using a scanner object:
Code:
import java.util.*;

class NewRoot {
    public static void main(String[] args){
        Scanner numscan = new Scanner(System.in);
        System.out.print("What number do you want the square root of?:");
        int number = numscan.nextInt();
        if (args.length > 0) {
            number = Integer.parseInt(args[0]);
        }
        System.out.println("The square root of "
                + number
                + " is "
                + Math.sqrt(number));
    }
}
The output is:
Code:
What number do you want the square root of?:25
The square root of 25 is 5.0
Hope this helped!
More on scanner objects here


RE: Netbeans and Arguments (n00bish question) - shadywatcher212 - 05-17-2010

Ok that helps a little bit but maybe i should have worded it my question a little better. Before I ran it i changed the arguments in NetBeans to "169". So when the file tests
Code:
if(args.length > 0){
which should test as true. Afterwards it should run
Code:
number = parse.Interger(args[0]);
. This changes or casts the value of "number" to the arguments given to the program, because the length of 169 is = 3. So then after this it should run the last line which should display the output of
Code:
The square root of 169 is 13
. Why is it not changing the value of "number" to the argument of 169. Maybe I'm missing something? Is there anything that would make my theory illogical? I like your suggestions though, much appreaciated.