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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 如何使程序返回到指定地方相关的知识,希望对你有一定的参考价值。

比如:让用户输入卡号,如果卡号不是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不行,有没有其他好的方法解决这个问题呀?求高手解答~

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 获取

有问题可以追问 望采纳...
参考技术A 要是想跳到其他行还有点难度,你跳到第一行直接用递归就行
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();


参考技术B 把输入卡号那段代码写到一个方法里,如果!=16,调用一下那个方法追问

这个我想过,但是如果第二次还是输错的话,那怎么办= =

java 给定一个整数数组,返回两个数字的索引,使它们相加到特定目标。

class Solution(object):
    def twoSum(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: List[int]
        """
        
        
        buffer_dict = {}; #Use a dictionary to store the valur target - nums[i],the time complexity is O(n)
        
        for i in range(len(nums)):
            if nums[i] in buffer_dict:
                return [buffer_dict[nums[i]], i];
            else:
                buffer_dict[target - nums[i]] = i;
                
                
                
                
                
                
                
public class Solution {
    public int[] twoSum(int[] nums, int target) {
        
        HashMap<Integer,Integer> bufferMap = new HashMap<Integer,Integer>();
        int[] res = new int[2];
        
        for(int i = 0; i< nums.length; i++){
            if(bufferMap.containsKey(nums[i])){
                res[0] = bufferMap.get(nums[i]);
                res[1] = i;
                return res;
            }
            
            bufferMap.put(target - nums[i],i);
            
        }
        return res;
    }
}

以上是关于java 如何使程序返回到指定地方的主要内容,如果未能解决你的问题,请参考以下文章

查找谷歌地方自动完成时返回零结果

将字体转换为字符串并再次返回

如何在特定时间后使函数返回

如何使向上按钮返回而不是打开导航抽屉

xcode中怎么样返回到指定界面

如何在指定的时间内执行任意函数并获取其返回值?