2016-01-09 2 views
-2

У меня есть приложение, которое, когда вводится число, предоставит день недели. У меня есть класс даты, который использует коммутатор и случай, когда номер присваивается строке. Однако, когда я пытаюсь выполнить код, есть проблема с ним. Я не могу понять, как добавить его, чтобы JOptionPane получил вход пользователя и распечатал ответ. Это мой код, который устанавливает значение:Метод не может быть применен к заданным типам Java

public static int dayToNumber(String strDay) { 

    int dayNum; 

    switch (strDay.toLowerCase()) { 
     case "monday": 
      dayNum = 2; 
      break; 
     case "tuesday": 
      dayNum = 3; 
      break; 
     case "wednesday": 
      dayNum = 4; 
      break; 
     case "thursday": 
      dayNum = 5; 
      break; 
     case "friday": 
      dayNum = 6; 
      break; 
     case "staurday": 
      dayNum = 7; 
      break;  
     case "sunday": 
      dayNum = 1; 
      break;   
     default: 
      dayNum = -1; 
      break; 
    } 
    return dayNum; 
} 

> Это код, где я исполняю основной код (где мне нужна помощь):

String strDay; 
int day; 
int dayNum; 

strDay = JOptionPane.showInputDialog("Please enter in a day number"); 

day = Integer.parseInt(strDay); 
Date anotherDate = new Date(); 
anotherDate.setDay(day); 

dayNum = anotherDate.dayToNumber(); // Error 


JOptionPane.showMessageDialog(null, "Day number:" + dayNum); 

Я приложил изображение о чем говорит ошибка enter image description here

+2

'dayToNumber (String strDay)' ожидает аргумент String в качестве аргумента, правильно? Вы передаете аргумент String в качестве аргумента при выполнении 'anotherDate.dayToNumber()'? –

+0

Возможно, мне просто не хватает точки, но не ваш код неправильный, учитывая то, что вы предлагаете пользователю и что делает ваш метод? – ChiefTwoPencils

ответ

0

Вы не поместили значение strDay. Согласно методу подписи public static int dayToNumber(String strDay) вы должны поместить его.

+0

Теперь он работает. Однако, когда я ввожу строку в диалоговое окно ввода, он сбрасывает и генерирует исключение. Что мне теперь делать? –

+0

Ну, какой вход вы хотите от пользователя? День или день недели? Вы ожидаете номер дня, но вы сравниваете его с днем ​​недели в своем заявлении о переключении. Если вы хотите, чтобы день недели не анализировал его как «int», потому что вы получите исключение. –

+1

вот почему вы не отвечаете на дубликаты –

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