java - 请求用户输入并验证

标签 java

我正在做一个学校JAVA项目,其中我要求用户输入一个8位数字字符串,最后加上一个字母,我必须验证:

  • 我收到的是这 8 位数字,而不是字母
  • 最后一个字母必须包含在给定的 char [ ] 列表中。

我将在此处粘贴给定的列表和位置

enter image description here

  • 最后也是最棘手的事情 - 字母必须是输入的数字除以 23(字符总数)才有效。 例如,如果用户输入 00000102X,则唯一有效的字母必须是 X。(102%23=10) 如果用户输入 24659213Q,则字母必须为 Q (24659213%23=16)。

我不太确定从哪里开始......所以到目前为止我唯一完成的事情是:

    import java.util.Scanner;
public class Practice {

    static final char[] LETTERS = {'T', 'R', 'W', 'A', 'G', 'M', 'Y', 'F', 'P', 'D', 'X'
                                 ,'B', 'N',  'J', 'Z', 'S', 'Q', 'V', 'H', 'L', 'C'
                                 , 'K', 'E'};
    String [][] input;

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

    System.out.print("Please input: ");

}
}

知道如何开始吗?任何帮助都将被欣然接受。谢谢!

我需要做的是:

  1. 要求用户输入 8 位数字和一个字母
  2. 验证输入的组成(8 位数字+1 个字母)
  3. 将数字作为数字除以 23。结果应指向 char [ ] 列表中接受的字母
  4. 如果一切正常,保存并返回步骤1。如果不正常,则给出错误并要求用户重新输入。

最佳答案

我会给你一些设计思想而不是代码,以便你可以自己编写:

  • 考虑如何存储用户输入(例如,它是一个char列表,也许是一个String?) - 这取决于您的内容使用起来更舒服,但我推荐使用 String

  • 您需要什么方法?如果您将任务分解为许多不同的检查,您可能需要

  • 首先检查字符串的长度(你可以为此编写一个方法,但它只有一行代码,所以我不推荐这样做),

  • 然后检查除最后​​一个字符之外的所有字符都是数字,并且最后一个字符是String(您可以获得由第一个字符表示的substring) 7个字符并尝试解析出一个Integer,然后你可以检查最后一个字符是否是一个字母(类中有内置方法字符用于检查这一点,并在String类中用于处理String的不同部分)

  • 那么也许有一种不同的方法来检查前 7 个字符模 23 表示的数字是否是给定 char[] 中最后一个字母的索引> 数组

  • 当你拥有所有检查方法时(我认为你应该简单地assert每个方法应该在其主体内部检查什么,例如assert(input.length == 8 )抛出自定义或内置Exception以防万一检查失败)您可以简单地将它们链接起来(即一个接一个地调用它们)你的主要方法

祝你好运!

关于java - 请求用户输入并验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39552405/

相关文章:

Java - 如何从计算机获取唯一编号

java - 为什么我包含的 JSP 文件不能得到正确处理?

java - 将变量从 Servlet 发送到 JSP

java - 为什么 b.wait() 不让主线程等待

java - 在 intellij 上调试评估表达式

基于 Java Tile 的光照性能问题

java - 递归题--Java

java - 这可以持续做某事吗?

java - xjc,maven-jaxb2-插件 : cryptic java. lang.NoSuchMethodException : javax. xml.bind.annotation.XmlElementRef.required()

java - Android:ActivityNotFoundException 无法找到显式 Activity 类