need help converting to an array
I wrote this program some time ago and I need to convert it so that it uses arrays.
import java.io.*;
import java.util.*;
class MagicPrinter{
publicstaticvoid main(String[] args)
throws java.io.IOException{
String inputString;
String s1;
int num1, i, j;
char stars [] ={'*'};
InputStreamReader isr =new InputStreamReader(System.in);
BufferedReader br =new BufferedReader(isr);
System.out.print("How many lines? ");
inputString = br.readLine();
StringTokenizer st =new StringTokenizer (inputString);
s1 = st.nextToken();
num1 = Integer.parseInt(s1);
if(num1 % 2 == 1 && num1 >= 3 && num1 <= 79){
for(i = 1; i <= num1; i++){
System.out.print("\n");
for(j = 1; j <= i; j++){
System.out.print(stars);
}
}
System.out.println();
System.out.println();
}
else{
System.out.println("Please enter an odd number between 3 and 79.");
}
}
}
Can anyone provide me with some insight?
[2132 byte] By [
ev4na] at [2007-11-27 0:24:22]

You could hold your output in a string array:
public static void myMain(String[] args)
{
//List<String> myStrArray = new ArrayList<String>();
String[] strArray;
.........
.........
.........
strArray = new String[num1];
if (num1 % 2 == 1 && num1 >= 3 && num1 <= 79)
{
StringBuilder mySB = new StringBuilder();
for (int i = 0; i < num1; i++) // notice this has changed from i = 1; i <= num1; i++
{
mySB.append("*");
//myStrArray.add(mySB.toString());
strArray[i] = mySB.toString();
}
for (int k = 0; k < strArray.length; k++) // or k < myStrArray.size()
{
//System.out.println(myStrArray.get(k));
System.out.println(strArray[k]);
}
System.out.println();
.........
.........
> You could hold your output in a string array:
>
> [code]
>public static void myMain(String[] args)
> {
> //List<String> myStrArray = new
> ArrayList<String>();
>String[] strArray;
> .........
>.........
> .........
>
> strArray = new String[num1];
> if (num1 % 2 == 1 && num1 >= 3 && num1 <= 79)
> {
>StringBuilder mySB = new StringBuilder();
> for (int i = 0; i < num1; i++) // notice
> this has changed from i = 1; i <= num1; i++
>{
>mySB.append("*");
>//myStrArray.add(mySB.toString());
>strArray = mySB.toString();
>}
> for (int k = 0; k < strArray.length; k++) // or
> k < myStrArray.size()
>{
>//System.out.println(myStrArray.get(k));
>System.out.println(strArray[k]);
> }
>System.out.println();
> .........
>.........
this stores it as a one dimensional array right?
Message was edited by:
ev4n
ev4na at 2007-7-11 22:21:04 >
