2014-04-19 3 views
0

Так что я прочитал все конструкторы неопределенных сообщений в stackoverflow и попробовал решения, и они не сработали для меня. Может быть, я пытаюсь сделать это неправильно. Я продолжаю получать «конструктор Gerbil (int) не определен».Java: конструктор gerbil (int) не определен

Код, проблема:

GerbilArray[i] = new Gerbil(i); 

Мой полный код:

import java.util.Scanner; 
public class Gerbil { 

public String name; 
public String id; 
public String bite; 
public String escape; 

public Gerbil() { 
    this.name = ""; 
    this.id = ""; 
    this.bite = ""; 
    this.escape = ""; 
} 

public static void main(String[] args) { 
    Scanner keyboard = new Scanner(System.in); 
    System.out.println("How many foods?"); 
    int totalFood = keyboard.nextInt(); 

    System.out.println("How many gerbils in the lab?"); 

    int numberOfGerbils = keyboard.nextInt(); 
    Gerbil[] GerbilArray = new Gerbil[numberOfGerbils]; 

    for(int i = 0; i <= numberOfGerbils; i++){ 
     GerbilArray[i] = new Gerbil(i); 

     System.out.print("Lab ID:"); 
     String id = keyboard.next(); 

     System.out.print("Gerbil Nickname:"); 
     String name = keyboard.next(); 

     System.out.print("Bite?"); 
     String bite = keyboard.next(); 

     System.out.print("Escapes?"); 
     String city = keyboard.nextLine(); 

     for (int j = 0; j < totalFood; j++) { 
      System.out.println("How many of food " + (j+1) + "do you eat?:"); 

     } 

    } 
} 
} 

Кроме того, вы, наверное, видели, что мой вложенных для цикла не закончена, а также. Я пытаюсь сделать массив внутри объекта, который будет хранить количество «х» целых чисел внутри моего объекта, указанного пользователем (int totalFood), но я понятия не имею, как это сделать.

+0

Изменение 'GerbilArray [я] = новый Песчанка (я)' в 'GerbilArray [я] = новый Песчанка()', потому что нет 'Песчанка (интермедиат данные) 'constructor. – Kishore

+0

Спасибо! Это решило проблему конструктора! – newJavaUser

+0

Не удаляйте сообщения после ответа, это противоречит идее Stack Overflow - возможно, у кого-то такая же проблема, как вы можете прийти сюда и найти решение. – 3yakuya

ответ

1

У вас нет конструктора Gerbil(int a) в классе Gerbil, и вы пытаетесь его назвать!

Просто назвать это таким образом:

GerbilArray[i] = new Gerbil(); 
+0

Спасибо! Что это точно? До сих пор мой класс до сих пор не слишком много перечеркивал объекты. – newJavaUser

+0

@newJavaUser> Добро пожаловать. Чтобы создать объект, вы должны вызвать его конструктор с соответствующими аргументами. Например, 'Gerbil g = new Gerbil()'. (Есть другие способы, с которыми я не хочу смущать вас, знаете с ними) – mok

Смежные вопросы