java 如何使程序返回到指定地方

比如:让用户输入卡号,如果卡号不是16位,那么提示卡号有误,然后重新定位到main下第一行重新执行程序,java可以实现吗?importjava.util.Scanner... 比如:让用户输入卡号,如果卡号不是16位,那么提示卡号有误,然后重新定位到main下第一行重新执行程序,java可以实现吗?

import java.util.Scanner;

public class No11 {

public static void main(String args[]){
String getNum=""; // a:String getNum="";
char a;
Scanner scan=new Scanner(System.in);
System.out.print("请输入信用卡号:");
getNum=scan.next();

if(getNum.length()!=16){
System.out.println("请检查信用卡号是否正确!");
// goto a;
}

}

}

貌似goto不行,有没有其他好的方法解决这个问题呀?求高手解答~
展开
 我来答
mirhook90
推荐于2017-10-01
知道答主
回答量:19
采纳率:0%
帮助的人:10.8万
展开全部
import java.util.Scanner;

public class No11 {
public static void main(String args[]){
String getNum="";
Scanner scan=new Scanner(System.in);
System.out.print("请输入信用卡号:");
getNum=scan.next();
while(true){
if(getNum.length()!=16)
{System.out.println("请检查信用卡号是否正确!"); System.out.print("请输入信用卡号:");getNum=scan.next();}
else{ break;}
}}}
获取系统参数使用 while true 永久循环,当成功了 则执行else break 跳出,.当失败了 继续 next 获取

有问题可以追问 望采纳...
一个正直的吧友
2011-04-29 · TA获得超过3143个赞
知道小有建树答主
回答量:941
采纳率:0%
帮助的人:1089万
展开全部
要是想跳到其他行还有点难度,你跳到第一行直接用递归就行
main方法不能递归,你写个私有方法递归,然后main调用私有方法

public class No11 {

public static void main(String args[]) {
a();
}

static void a() {
String getNum = ""; // a:String getNum="";
char a;
Scanner scan = new Scanner(System.in);
System.out.print("请输入信用卡号:");
getNum = scan.next();

if (getNum.length() != 16) {
System.out.println("请检查信用卡号是否正确!");
a();
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhangming9778
2011-04-29 · TA获得超过115个赞
知道答主
回答量:150
采纳率:0%
帮助的人:72.7万
展开全部
把输入卡号那段代码写到一个方法里,如果!=16,调用一下那个方法
追问
这个我想过,但是如果第二次还是输错的话,那怎么办= =
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式