How to put commas in between arguments of a java function which accepts variable number of parameters ?

I have java class with one method.
The method accepts variable number of arguments.
My question : I need to pass the arguments at runtime. How to put commas in between arguments ?

public class Test {

	public void foo(String... args) {
	    for (String arg : args) {
	        System.out.println(arg);
	    }
	}

	public static void main(String args[])
	{
		Test t=new Test();
		t.foo("India");
		t.foo("US","India");
	}
}
                                  

Open in new window


One solution is this :
t.foo(new String[]{"India", "US"});

Open in new window


But I need to pass parameters "India" , "US" etc...  at runtime.

i tried this, but its not working.
String[] country=new String[5]
country[0]="India";
country[1]="US"
country[2]="China"
t.foo(country);

Open in new window

Pradip ShenolkarAsked:
Who is Participating?
 
dpearsonCommented:
If you're trying to pass them at runtime (on the command line) then I think you just want this:

public class Test {

	public void foo(String... args) {
	    for (String arg : args) {
	        System.out.println(arg);
	    }
	}

	public static void main(String args[])
	{
		Test t=new Test();
		t.foo(args) ;
	}
}

Open in new window


And you'd pass in the arguments on the command line, something like:

java -jar test.jar US India

If you want to call it from within code, what you have (an array of Strings) should also work:

public class Test {

	public void foo(String... args) {
	    for (String arg : args) {
	        System.out.println(arg);
	    }
	}

	public static void main(String args[])
	{
		Test t=new Test();

                // Size should be 3 here not 5
		String[] country=new String[3] ;
		country[0]="India";
		country[1]="US" ;
		country[2]="China" ;
		t.foo(country);
	}
}

Open in new window


Hope that helps,

Doug
0
 
Pradip ShenolkarAuthor Commented:
// Size should be 3 here not 5
Ok I got my mistake.
I was doing this:
String[] country=new String[5] 

Open in new window

Instead of this
String[] country=new String[3] ;

Open in new window


Thanks alot.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.