Java 在用户输入有效长度的字符串之前,如何保持循环?

Java 在用户输入有效长度的字符串之前,如何保持循环?,java,Java,我正在尝试编写一个程序,它接受用户输入,然后检查它是否等于或少于五个字符。然后,如果它满足此条件,我们将存储名称,否则我们将继续询问它们的名称,直到满足此条件为止 我试着使用while循环来完成这个任务,但我不知道如何将询问他们姓名的问题纳入其中。请参阅下面我的代码: import java.util.*; 公共班机{ 公共静态字符串newName; 公共静态void main(字符串[]args){ 扫描仪=新的扫描仪(System.in); System.out.println(“输入您的姓

我正在尝试编写一个程序,它接受用户输入,然后检查它是否等于或少于五个字符。然后,如果它满足此条件,我们将存储名称,否则我们将继续询问它们的名称,直到满足此条件为止

我试着使用while循环来完成这个任务,但我不知道如何将询问他们姓名的问题纳入其中。请参阅下面我的代码:

import java.util.*;
公共班机{
公共静态字符串newName;
公共静态void main(字符串[]args){
扫描仪=新的扫描仪(System.in);
System.out.println(“输入您的姓名:”);
字符串名称=scanner.nextLine();
while(name.length()试试这个

public class Main {
    public static String newName = null;
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        do {
            if (newName == null) {
               System.out.println("Enter your name (less 6 chars): ");
            } else {
               System.out.println("Error, please try again: ");
            }
            newName = scanner.nextLine();
        } while (newName.length() > 5);

        System.out.println("Your name is: " + newName);
    }
}
import java.util.Scanner;
公共类解决方案{
公共静态void main(字符串[]args){
扫描仪=新的扫描仪(System.in);
字符串名;
while(true){
System.out.println(“输入您的姓名”);
name=scanner.next();

if(name.length()只需在while循环中不断询问名称即可

import java.util.*;


public class Main {
    public static String newName;
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("Enter your name:");
  

        String name = scanner.nextLine();
        while (name.length() >= 6){
            System.out.println("Error, try again.");
            System.out.println("Enter your name:");
            name = scanner.nextLine();
        }
        // ELSE PRINT PLEASE INPUT VALID NAME
        System.out.println("Your name is: " + newName);
    }
}

你真的需要考虑你的代码流,什么时候会发生什么。你怎么能在不询问用户姓名的情况下阅读用户的输入5次?@SwapnilPadaya Mate正确阅读代码,我在while循环中查看用户的输入长度我给了你一个提示,告诉你如何真正自己解决问题!谢谢。我应该在哪里打印“错误请重试”并重复?在
if
之后添加
else
,然后打印您需要的内容,我认为我现在已经得到了。谢谢有限,而在这种情况下,true loop是一个错误的选择谢谢。我应该在哪里打印“错误请重试”然后重复?在while循环下,我编辑了代码谢谢。我在哪里打印“错误,请重试”并重复?是的,我更新了代码。
import java.util.Scanner;

public class Solution {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String name;

        while(true) {
            System.out.println("Enter your name");
            name = scanner.next();

            if(name.length() <= 5) break;
        }
    }
}
import java.util.*;


public class Main {
    public static String newName;
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("Enter your name:");
  

        String name = scanner.nextLine();
        while (name.length() >= 6){
            System.out.println("Error, try again.");
            System.out.println("Enter your name:");
            name = scanner.nextLine();
        }
        // ELSE PRINT PLEASE INPUT VALID NAME
        System.out.println("Your name is: " + newName);
    }
}