#java
Вопрос:
Здесь я не могу получить доступ к значению за name
пределами строки, даже если я использую другую строку, значение которой не инициализируется.
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("ntWelcome 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);
}
}
Комментарии:
1. Код неполон. Где
name
объявлено? Ответ на этот вопрос определяет, где к нему можно получить доступ.2. типа хорошо, я собираюсь загрузить все code…is все в порядке?
3. Ну, желательно столько, сколько нужно, чтобы ответить на вопрос!
4. братан, это мой первый раз, я очень много думаю, и в принципе все в порядке, я просто тренируюсь
5. Хорошо, я просто говорю, что если вы можете идентифицировать что-то другое, кроме «всего кода», то это поможет читателям здесь.
Ответ №1:
Вам нужно изменить name
, чтобы быть массивом, так как он должен содержать несколько значений.
String[] names = new String[n];
Я также думаю, что вместо этого вам следует использовать while
петлю. Что-то вроде
Scanner sc = new Scanner(System.in);
System.out.println("ntWelcome 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]);
}
Ответ №2:
Ваш вопрос не ясен. Но я надеюсь, что это все исправит. Обязательно инициализируйте переменную n нужным значением.
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");
}
}
}