Java用scanner实现交互,要求输入信息错误时返回重新输入 10
packagecom.string;importjava.util.Scanner;publicclassHomework{publicstaticvoidmain(St...
package com.string;
import java.util.Scanner;
public class Homework {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入文件名:");
String filename=sc.next();
System.out.println("正在验证文件名称的合法性.....");
if(!filename.endsWith(".java")){//if条件判断句,条件前加感叹号表示若不满足括号内条件
System.out.println("您输入的文件名不合法!");
return;
}else{
System.out.println("文件名验证成功!请输入邮箱地址:");}
String mailname=sc.next();
System.out.println("正在检验邮箱地址的合法性.....");
if(mailname.indexOf("@")<0 & mailname.indexOf("@")>mailname.indexOf(".")){
System.out.println("您输入的邮箱名称有误,请重新输入:");
return;
}else{
System.out.println("邮箱名称验证成功!是否提交(Y/N)");
}
String press = sc.next();
if(press=="Y"){
System.out.println("请稍候........");
System.out.println("您已成功提交作业");
}else{
System.out.println("您已取消提交作业");
}
}
}
这是我写的,不过错了就得重新run才能再输入,怎么样实现输入错误返回继续输入
if(press.equals("Y")){
}最后那个if判断句应该是这个,上面写错了,不过怎样实现错误返回上一步重新输入呢 展开
import java.util.Scanner;
public class Homework {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入文件名:");
String filename=sc.next();
System.out.println("正在验证文件名称的合法性.....");
if(!filename.endsWith(".java")){//if条件判断句,条件前加感叹号表示若不满足括号内条件
System.out.println("您输入的文件名不合法!");
return;
}else{
System.out.println("文件名验证成功!请输入邮箱地址:");}
String mailname=sc.next();
System.out.println("正在检验邮箱地址的合法性.....");
if(mailname.indexOf("@")<0 & mailname.indexOf("@")>mailname.indexOf(".")){
System.out.println("您输入的邮箱名称有误,请重新输入:");
return;
}else{
System.out.println("邮箱名称验证成功!是否提交(Y/N)");
}
String press = sc.next();
if(press=="Y"){
System.out.println("请稍候........");
System.out.println("您已成功提交作业");
}else{
System.out.println("您已取消提交作业");
}
}
}
这是我写的,不过错了就得重新run才能再输入,怎么样实现输入错误返回继续输入
if(press.equals("Y")){
}最后那个if判断句应该是这个,上面写错了,不过怎样实现错误返回上一步重新输入呢 展开
2个回答
展开全部
这个应该可以满足你的要求:
package com;
import java.util.Scanner;
public class TestMain {
private static boolean File_Mail = false;
public static void main(String[] args) throws InterruptedException {
while (true) {
Scanner sc = new Scanner(System.in);
if (!File_Mail) {
System.out.println("请输入文件名:");
String filename = sc.next();
if (!ValidateFile(filename, sc)) {
continue;
}
}
if (!ValidateMail(sc)) {
File_Mail = true;
continue;
}
if (Submit(sc))
break;
}
System.out.println("结束");
}
public static boolean ValidateFile(String filename, Scanner sc) {
System.out.println("正在验证文件名称的合法性.....");
if (!filename.endsWith(".java")) {
System.out.println("您输入的文件名不合法!");
return false;
} else {
System.out.println("文件名验证成功!请输入邮箱地址:");
}
return true;
}
public static boolean ValidateMail(Scanner sc) {
String mailname = sc.next();
System.out.println("正在检验邮箱地址的合法性.....");
if (mailname.indexOf("@") < 0
|| mailname.indexOf("@") > mailname.indexOf(".")) {
System.out.println("您输入的邮箱名称有误,请重新输入:");
return false;
} else {
System.out.println("邮箱名称验证成功!是否提交(Y/N)");
}
return true;
}
public static boolean Submit(Scanner sc) {
String press = sc.next();
if ("Y".equals(press)) {
System.out.println("请稍候........");
System.out.println("您已成功提交作业");
} else {
System.out.println("您已取消提交作业");
}
return true;
}
}
望采纳。谢谢。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询