如果我的输入不正确,程序将要求用户再次输入。我能这样做吗? [英] If my input was incorrect, the program will ask the user to input again. Can I do that?

查看:99
本文介绍了如果我的输入不正确,程序将要求用户再次输入。我能这样做吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好,

我想用java输入日期和月份。如果我的输入不正确,程序将要求用户再次输入。例如,如果我输入4月32日,程序将显示无效并要求用户输入正确的日期。这就是我所做的,但不能循环。 Thx。



我尝试了什么:



  import  java.util。*; 
public class tanggal
{
public static void main( String [] args)
{
Scanner scan = new Scanner(System.in);
int tanggal = 0;
字符串 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( 输入无效);
tanggal = 0;
}
else if (bulan.equals( Jan)&&& bulan.equals( < span class =code-string> Maret)&& bulan.equals( Mey )&& bulan.equals( Juli)&& bulan.equals( Agustus)&& bulan.equals( Oktober)&&& bulan.equals( < span class =code-string> Desember)|| tanggal> 31)
{
System.out.println( 输入无效);
tanggal = 0;
}
else if (bulan.equals( 四月)&&& bulan.equals( < span class =code-string> Juni)&& bulan.equals( 9月)&& bulan.equals( 11月)|| tanggal> 30)
{
System.out.println( 输入无效) ;
tanggal = 0;
}
else
{
System.out.println( 输入无效);
tanggal = 0;
}
}
}

解决方案

只需将所需部分包装在循环中并使用变量来控制循环:

 bool valid = false; 
while (!valid){
valid = true;
// 在这里做你的东西,当它变得无效时将'valid'设置为false,
// 可能以你的String bulan =;开头line
// ...
}


Hello,
I want to input date and months with java. If my input was incorrect, the program will ask the user to input again. Example, If I input 32th April, the program will say "Invalid" and ask the user to input with correct date. This is what I made, but can't Looping. Thx.

What I have tried:

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;
   }
 }
}

解决方案

Just wrap the required portion in a loop and use a variable to control looping:

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
   //...
   }


这篇关于如果我的输入不正确,程序将要求用户再次输入。我能这样做吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆