Я пытаюсь создать «Класс»: Sandwich.Java и «Приложение»: testSandwich.java.Практическое руководство. Использование java Set и Get
Моя задача состоит в том, чтобы включать в себя методы, чтобы получить и установить значения для 3-х полей в Sandwich.java: Основной ингредиент, хлеб тип, цена. Затем с приложением, которые создают пять объектов Sandwich в массиве. (Пять) Массивы
Sandwich.java:
public class Sandwich {
public String mainIngredient = "";
public String breadType = "";
public Double price;
String getMainIngredient(){
return mainIngredient;
}
void setMainIngredient(String mainIng){
mainIngredient = mainIng;
}
void setBread(String wheat){
breadType = wheat;
}
void setPrice(double mainPrice){
price = mainPrice;
}
testSandwich.java:
public class TestSandwich {
public static void main(String args[]) {
Sandwich[] sandwiches = new Sandwich[5];
for(int i = 0; i < 5; i++){
sandwiches[i] = new Sandwich();
System.out.println("Choose a Main Ingredient: ");
String userInput = user_input.next();
sandwiches[i].setBread(userInput);
System.out.println("Choose a Bread: ");
userInput = user_input.next();
sandwiches[i].setMainIngredient(userInput);
System.out.println(sandwiches[i].getMainIngredient());
System.out.println("");
Выходной ток Ошибка:
выбрать Основной ингредиент:
Исключение в потоке "главный" java.lang.RuntimeException: Uncompilable исходный код - Ошибочный тип SYM: user_input.next
at practical.TestSandwich.main(TestSandwich.java:24)
Java Результат: 1
строить успешные (общее время: 1 секунда)
Вопрос: Как исправить ошибку и как получить результат, который я ищу?
Во-первых, я настоятельно рекомендую вам не пытаться запускать код, который не компилируется. Убедитесь, что ваш код скомпилирован в первую очередь - и если вам предлагается выполнить код, который не был скомпилирован правильно, * скажите «нет», если у вас нет конкретной причины, по которой вы, возможно, хотите использовать недопустимый код. –
Что касается этой ошибки - это не имеет никакого отношения к методам getter и setter ... вы пытаетесь вызвать метод в переменной 'user_input', но вы так и не объявили это. Возможно, вам не хватает «Scanner user_input = new Scanner (System.in);' в начале вашего 'main' метода? (Я бы настоятельно советовал вам не указывать переменные, используя символы подчеркивания, и * обязательно * не имеют переменных, называемых как user_input, так и 'userInput' одним и тем же методом ... очень запутанным.) –
Где вы объявили user_input? – Rehman