JAVA可以调用循环体里用Scanner输入的数据么?

JAVA可以调用循环体里用Scanner输入的数据么?

问题描述:

public static void main(String []args) {
            Scanner sc=new Scanner(System.in);
            System.out.println("注册一个账户 请首先设置你的账户名");
            String a=sc.next();
            a=a.trim();
            System.out.println("请注册一个长度7到16位的密码");
           int xunhuan=3;
            while(xunhuan>=0) {
                String p=sc.next();   想调用这个输入的数据 到循环外
                int changdu=p.length();//获取密码的长度
            if(changdu>=7&&changdu<=16) {
                System.out.println("正确复合规范");
                break;
            }else {
                System.out.println("密码不符合规范");
                if(xunhuan==0) {
                    System.out.println("终止");
                    return;    
            }        System.out.println("你还有"+xunhuan+"重新输入的机会");
                xunhuan--;
                }
            
            }
            System.out.println("请输入你之前注册账户名");
            String c=sc.next();
            if(a.equals(c)) {
                System.out.println("查询有此账户名"+"\t");
                System.out.print("请输入密码");
            }else {
                System.out.println("无此账户");
                return;
            }
            String d=sc.next();
            if(p.equals(e)) {          在编译的软件报错  无法调用
            
            }
            
            
            }}

循环体里可以用Scanner输入数据

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("注册一个账户 请首先设置你的账户名");
		String a = sc.next();
		a = a.trim();
		System.out.println("请注册一个长度7到16位的密码");
		int xunhuan = 3;
		String p="";
		while (xunhuan >= 0) {
			p = sc.next(); // 想调用这个输入的数据 到循环外
			int changdu = p.length();// 获取密码的长度
			if (changdu >= 7 && changdu <= 16) {
				System.out.println("正确复合规范");
				break;
			} else {
				System.out.println("密码不符合规范");
				if (xunhuan == 0) {
					System.out.println("终止");
					return;
				}
				System.out.println("你还有" + xunhuan + "重新输入的机会");
				xunhuan--;
			}

		}
		System.out.println("请输入你之前注册账户名");
		String c = sc.next();
		if (a.equals(c)) {
			System.out.println("查询有此账户名" + "\t");
			System.out.print("请输入密码");
		} else {
			System.out.println("无此账户");
			return;
		}
		String d = sc.next();
		if (p.equals(d)) { // 在编译的软件报错 无法调用

		}

	}

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632