Kartik Nhm
Kartik Nhm

Reputation: 3

How do I access the String value inside a for loop?

Here I am not able to access the value of the name outside of the string even if I use other string the value is not initializing.

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    System.out.println("\n\tWelcome to the Store");
    System.out.print("\nPls enter the number of items you want to bill ");
    int n = sc.nextInt();
    String name;
    for(int i = 1;i<=100;i++) {
        System.out.print("Enter the name of the item no "+i+" ");
        name = sc.next();
        if (i == n) {
            break;
        }
    }
    System.out.println();   
    for(int m=1;m<=n;m++) {
        //System.out.println(name);        
    }    
}

Upvotes: 0

Views: 185

Answers (2)

Joakim Danielson
Joakim Danielson

Reputation: 52088

You need to change name to be an array since it should contain several values.

String[] names = new String[n];

I also think you should use a while loop instead. Something like

Scanner sc = new Scanner(System.in);
System.out.println("\n\tWelcome to the Store");
System.out.print("\nPls enter the number of items you want to bill ");
int n = sc.nextInt();
String[] names = new String[n];
int i = 0;
while (i < n) {
    System.out.print("Enter the name of the item no " + i + " ");
    names[i] = sc.next();
    i++;
}
System.out.println();
for (int m = 0; m < n; m++) {
    System.out.println(names[m]);
}

Upvotes: 1

Virangaa
Virangaa

Reputation: 169

Your question is not clear. But I hope this will fix it. Be sure to initialize variable n with a value that you want.

 import java.util.*;
 
 class example{
 
 public static void main(String args[]){
 
     Scanner sc = new Scanner(System.in);
     String[] name = new String[100];
     int n=3; // make sure to change this one
     
     for(int i = 1;i<=3;i++){
            System.out.print("Enter the name of the item no "+i+" ");
            name[i] = sc.next();
     }
     for(int i = 1;i<=n;i++){
            System.out.print(name[i]+"\n");
    }

}
}

Upvotes: 0

Related Questions