Hi, Im new to java and I can not figure out where I am going wrong in this code. I need to take the value from the arguments in the run configuration. I the values are in args[] array and if there is more than one argument I need to print error, but I just am stuck on that part of the code. Here is what I have so far:

public class Numbers {
	static int f(int n) {
		int product = 1;
		while (n > 0) {
			product *= n;
			n -= 1;
		return product;

	public static void main(String[] args) {
		for (int i = 1; i <= 10; i++)

Thank you for your time

6 Years
Discussion Span
Last Post by Rameshwar Soni

Treat the args array that is passed to the main method just like you treat or use any other array.
How do you get/check the number of elements in an array? The array object has a property that you can use to get that number.


Okay: Before your for loop try out this code;

BufferedReader bf = new BuffereReader(new InputStreamReader(System.in));
String enteredNumber = bf.readLine()
int enteredValue = Integer.parseInt(enteredNumber);
for(int i=0; i<enteredValue; i++)

// please do not forget that you need to import java.io.* at the beginning of your program

Edited by Ezzaral: Added code tags. Please use them to format any code that you post.


@edensigauke: the OP's requirement is to get the value from the runtime parameter(s) args[], so your suggestion about System.in is more likely to confuse than help.

@coco24: although @edensigauke's code is not what you need, there is one line that you should have a look at - it's concerned with converting a String (like an element of args[]) into an int (like your method f needs)


@coco24----what are you trying to achieve through your code...? As you said " I need to take the value from the arguments in the run configuration" So you are passing the value of counter variable i to method f() instead of taking the value from user at run time.

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.