2013-09-30 2 views
0

У меня есть домашняя работа, где я должен написать небольшую программу, которая запрашивает число, и возвращает месяц, присвоенный этому номеру.Передача массива строк в основном методе

До сих пор я написал два разных класса: один для запроса пользователя для int, а другой с массивами месяца. Теперь моя проблема состоит в том, чтобы передать месяцы в основной класс, когда пользователь вводит число.

До сих пор в основном классе у меня есть это, и я не имею ни малейшего представления о том, как действовать ... я получаю:

java:17: error: array required, but Date found System.out.println(monthName[index]); 

Я старался быть как можно более подробно.

import java.util.Scanner; 

public class Driver { 

    public static void main(String[] args) 
    { 
     Utility input = new Utility(); 
     final int MONTH_NAMES = 12; 
     int[] month = new int[MONTH_NAMES]; 
     Date monthName = new Date(); 
     { 
     System.out.println(input.queryForInt("Enter the number for a month ")) ; 
     } 


    for (int index = 0; index < 12; index++) 
     System.out.println(monthName[index]); 
} 
} 
+3

monthName - это не массив ... и чего именно вы хотите достичь? – LostBoy

+0

Я хочу запросить у пользователя число и на основе этого числа (1-12) вернуть соответствующий месяц. И да, я думал, что это тоже проблема, но я не знаю, как исходить оттуда: \ –

+0

Взгляните на http://stackoverflow.com/questions/1038570/how-can-i-convert-an- integer-to-localized-month-name-in-java – LostBoy

ответ

0

Ваша строка System.out не ссылается на массив, который вы назвали месяцем.

+0

Да, это то, что я думал, но я не могу это сделать. –

0

Я не думаю, что вы намеревались использовать Date monthName здесь

System.out.println(monthName[index]); 

Судя по количеству индексов ваш for цикл подсчета, это выглядит, как вы хотите использовать int[] month.

System.out.println(month[index]); 
+0

Я собираюсь попробовать это, как только я вернусь домой! Длинная поездка на поезде Спасибо! –

0

mouthName - объект Date, а не массив. Кроме того, зачем использовать цикл for для печати всего года?

Я думаю, что он может изменить последний цикл цикла на System.out.printLn(mouthName.getMouth()), если input.queryForIntmethod может успешно передать int-рот в объект mouthName.

+0

Я использовал цикл for, поэтому он продолжает работать после того, как пользователь вводит свои данные или, как говорит мой профессор, «программа будет выглядеть сломанной». –