Member 14039971 Ответов: 1

Если мой ввод был неверным, программа попросит пользователя ввести еще раз. Могу я это сделать?


Привет,
Я хочу ввести дату и месяцы с помощью java. Если мой ввод был неверным, программа попросит пользователя ввести еще раз. Например, если я введу 32 апреля, программа скажет "неверно" и попросит пользователя ввести правильную дату. Это то, что я сделал, но не могу зацикливаться. Тнх.

Что я уже пробовал:

import java.util.*;
public class tanggal
{
 public static void main(String [] args)
 {
  Scanner scan=new Scanner(System.in);
  int tanggal=0;
  String bulan="";
   System.out.print("Tanggal:");
   tanggal=scan.nextInt();scan.nextLine();
   System.out.print("Bulan:");
   bulan=scan.nextLine();
   if(bulan.equals("Feb")&&tanggal>28)
   {
    System.out.println("Input invalid");
    tanggal=0;
   }
   else if(bulan.equals("Jan")&&bulan.equals("Maret")&&bulan.equals("Mey")&&bulan.equals("Juli")&&bulan.equals("Agustus")&&bulan.equals("Oktober")&&bulan.equals("Desember")||tanggal>31)
   {
    System.out.println("Input invalid");
    tanggal=0;
   }
   else if(bulan.equals("April")&&bulan.equals("Juni")&&bulan.equals("September")&&bulan.equals("November")||tanggal>30)
   {
    System.out.println("Input invalid");
    tanggal=0;
   }
   else
   {
    System.out.println("Input invalid");
    tanggal=0;
   }
 }
}

Bryian Tan

Когда входные данные будут действительны?

1 Ответов

Рейтинг:
1

David O'Neil

Просто оберните необходимую часть в цикл и используйте переменную для управления циклом:

bool valid = false;
while (!valid) {
   valid = true;
   //Do your stuff here and set 'valid' to false when it becomes invalid,
   //probably starting with your "String bulan="";" line
   //...
   }