循环和数组格式

2024-03-11

我刚刚完成了我必须为课堂编写的程序。该程序应该从用户那里获取“ID”和“日期”的输入,我的老师要求我们在这两个部分中放置一个循环,以防用户没有输入正确的 ID/日期。我已经将程序编写到可以接受输入的位置,但它无法区分输入是否有效,并将继续执行程序的其余部分。另外,在数组的末尾,它应该打印数组,我已经这样做了。我只想将 ID (A、B、C、D) 放在数组旁边。我希望最终结果的 ID 位于向下列出的数组左侧,以与 4x5 表对齐。如果你们对如何做到这一点有任何建议/提示,我们将不胜感激。

import java.util.Scanner;
public class Salesman
{
 public static void main(String[]args)
 {
  Scanner input = new Scanner(System.in);
  char[] names = {'A', 'B', 'C', 'D'};
  char[] days = {'M', 'T', 'W', 'H', 'F'};
  double[][] week = new double[4][5];
  int stop = 0;
  char nameInput;
  char dayInput;
  double cost;
  int row;
  int column;

  do
  {
        System.out.println("Enter the salesman ID as A, B, C or D.");
        String nameString = input.nextLine();
        nameInput = nameString.charAt(0);
        row = rowSearch(names, nameInput);

        System.out.println("Enter the day of the week as M, T, W, H, or F");
        String dayString = input.nextLine();
        dayInput = dayString.charAt(0);
        column = columnSearch(days, dayInput);

        System.out.println("Enter the amount of the sale");
        cost = input.nextDouble();
        week[row][column] = cost;

        System.out.println("Is there more data? Enter Y for more or N to stop");
        input.nextLine();
        String dataString = input.nextLine();
        char dataInput = dataString.charAt(0);

        if (dataInput == 'N')
        {
                stop = -1;
        }
        else
        {
                stop = 1;
        }
  }
  while (stop >= 0);

  System.out.println("  M     T     W     H     F");
  for (row = 0; row < week.length; row++)
  {
        for (column = 0; column < week[row].length; column++)
        {
                System.out.printf("$%1.2f ", week[row][column]);
        }
     System.out.println();
  }
 }
 public static int rowSearch(char[] names, char idInput)
 {
        int row = 0;
        for (int i = 0; i < names.length; i++)
        {
                 if (idInput == names[i])
                  row = i;
        }
        return row;
 }
 public static int columnSearch(char[] days, char columnInput)
 {
        int column = 0;
        for (int i = 0; i < days.length; i++)
        {
                if (columnInput == days[i])
                  column = i;
        }
        return column;
 }
}

首先编写一个或多个可以提示用户进行某些输入并可以自行验证响应的方法。这些方法应继续循环,直到给出有效响应(或输入某些退出代码)。

例如...

public String ask(String prompt, char... validResponses) {
    String response = null;
    String testResponses = String.valueOf(validResponses).toLowerCase();
    Scanner input = new Scanner(System.in);
    do {
        System.out.println(prompt);
        response = input.nextLine();
    } while (!testResponses.contains(response.toLowerCase()));
    return response;
}

然后您可以简单地使用您需要的信息调用该方法......

 String response = ask("Enter the salesman ID as A, B, C or D.", 'A', 'B', 'C', 'D');

然后你就可以像平常一样使用响应......

此示例使用单一方法,该方法采用提示和有效字符列表。您可以轻松地编写两个单独的方法来处理各个请求......

nameInput = askForSalesMan();
dayInput = askForDay();

但这取决于你觉得你能最好地处理什么......

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

循环和数组格式 的相关文章

  • 在Matlab中对字符进行分组并形成矩阵

    我有 26 个字符 A 到 Z 我将 4 个字符组合在一起 并用空格分隔以下 4 个字符 如下所示 abcd efgh ijkl mnop qrst uvwx yz 我的Matlab编码如下 str abcdefghijklmnopqrst
  • 使用 Exec Maven 插件分叉 Java,而不使用“exec”目标

    来自文档 https www mojohaus org exec maven plugin exec exec在单独的进程中执行程序和Java程序 exec java在同一虚拟机中执行 Java 程序 我想 fork 一个 java 程序
  • 将构造函数传递给 Array.map?

    我怎样才能做这样的事情 var a 1 2 3 4 a map Date constructor 此代码在 Google V8 上引发错误 SyntaxError Unexpected number 我也尝试过 a map Date con
  • 计算字符串中的唯一单词

    下面我尝试将字符串数组提供给一个函数 该函数将唯一单词添加到单词数组中 并且如果该单词已经在数组中 则增加计数数组中相应元素的计数 var words var counts calculate a b calculate a c funct
  • 自定义列表字段点击事件

    我正在编写一个应用程序 其中我创建了用于显示列表视图的自定义列表字段 我的 CustomListField 包含连续的一个图像和文本 我正在通过单击列表字段行获取字段更改侦听器 但我也想将字段更改侦听器放在图像上 谁能告诉我我该怎么做 这是
  • 从文件中读取未知长度的int数组

    如何从文件中读取未知长度的整数数组 我没有找到获取数组大小的方法 所以我尝试了一些临时字符串的东西 但我的代码爆炸了 有更好的想法吗 Use std vector std ifstream inFile fileName std vecto
  • 将类转换为 JSONObject

    我有好几堂这样的课 我想将类转换为 JSONObject 格式 import java io Serializable import com google gson annotations SerializedName public cla
  • JAXB - 忽略元素

    有什么方法可以忽略 Jaxb 解析中的元素吗 我有一个很大的 XML 文件 如果我可以忽略其中一个大而复杂的元素 那么它的解析速度可能会快很多 如果它根本无法验证元素内容并解析文档的其余部分 即使该元素不正确 那就更好了 例如 这应该只生成
  • 如何使用双重调度来分析图形基元的交集?

    我正在分析图形基元 矩形 直线 圆形等 的交互并计算重叠 相对方向 合并等 这被引用为双重调度的一个主要示例 例如维基百科 http en wikipedia org wiki Double dispatch 自适应碰撞算法通常要求 不同的
  • 如何在 IntelliJ IDEA 中运行 akka actor

    来自 Akka 网站文档 然后 这个主要方法将创建所需的基础设施 运行演员 启动给定的主要演员并安排 一旦主要参与者终止 整个应用程序就会关闭 因此 您将能够使用类似于以下的命令运行上面的代码 下列的 java classpath akka
  • Android 认为我没有关闭数据库!为什么?

    我有一个 SQLiteDatabase 数据成员 我在 onCreate 中初始化它 并在 onPause onStop 和 onDestroy 中调用 close 它在 onResume 中重新初始化 它似乎运行得很好 但当我查看调试器时
  • 在java程序中使用c++ Dll

    我正在尝试使用System LoadLibrary 使用我用 C 编写的一个简单的 dll UseDllInJava java import com sun jna Library import com sun jna Native imp
  • foreach 循环中 current() 的意外行为[重复]

    这个问题在这里已经有答案了 这是一个简单的循环 list array A B C D foreach list as var print current list Output demo http 3v4l org sBDjl BBBB O
  • 将字节数组转换为托管结构

    更新 这个问题的答案帮助我编写了开源项目GitHub 上的 AlicanC 现代战争 2 工具 https github com AlicanC AlicanC s Modern Warfare 2 Tool 你可以看到我是如何阅读这些数据
  • 如何向页面添加 HTML 页眉和页脚?

    如何使用 itext 从 html 源添加标题到 pdf 目前 我们已经扩展了 PdfPageEventHelper 并重写了这些方法 工作正常 但当我到达 2 个以上页面时 它会抛出 RuntimeWorkerException Over
  • 如何使用 Jersey 将嵌套列表封送为 JSON?我得到一个空数组或一个包含数组的单元素字典数组

    我正在开发一个使用 Jersey 将对象转换为 JSON 的项目 我希望能够写出嵌套列表 如下所示 data one two three a b c 我想要转换的对象首先将数据表示为 gt gt 我认为 Jersey 会做正确的事情 以上输
  • Android ScrollView,检查当前是否滚动

    有没有办法检查标准 ScrollView 当前是否正在滚动 方向是向上还是向下并不重要 我只需要检查它当前是否正在滚动 ScrollView当前形式不提供用于检测滚动事件的回调 有两种解决方法可用 1 Use a ListView并实施On
  • 什么是 Java2D 处理程序线程?

    我创建了一个使用 Hibernate 的示例 java 应用程序 当我进行线程转储时 我观察到一个名为 Java2D Disposer 的奇怪线程 有人能告诉我该线程的功能吗 AWT 系统中的某些实体需要最终确定以释放资源 最突出的例子是j
  • 如何让 Firebase 与 Java 后端配合使用

    首先 如果这个问题过于抽象或不适合本网站 我想表示歉意 我真的不知道还能去哪里问 目前我已经在 iOS 和 Android 上开发了应用程序 他们将所有状态保存在 Firebase 中 因此所有内容都会立即保存到 Firebase 实时数据
  • 在会话即将到期之前调用方法

    我的网络应用程序有登录的用户 有一个超时 在会话过期之前 我想执行一个方法来清理一些锁 我已经实现了sessionListener但一旦我到达public void sessionDestroyed HttpSessionEvent eve

随机推荐

  • 如何将带有重音符号、变音符号等的字母转换为 Perl 中对应的 ASCII 字母?

    我正在编写一个与 Perl 中的文档一起使用的程序 许多文档都具有诸如 etc 大写和小写 我想将它们替换为 ASCII 对应项a o u e etc 我将如何在 Perl 中做到这一点 我想到的解决方案之一是使用一个散列 其中键是元音变音
  • 如何解决打字稿中隐式任何类型到索引类型错误?

    如何解决这个错误 元素隐式具有 any 类型 因为 any 类型的表达式不能用于索引类型 这个错误背后的原因是什么 什么是索引类型 代码如下 const getPast action gt const presentToPast appro
  • 在 php 中解压参数数组

    Python 提供了 运算符来解压元组列表并将它们作为参数提供给函数 如下所示 args 3 6 range args call with arguments unpacked from a list 这相当于 range 3 6 有谁知道
  • 带有圆形图像的 QLabel

    我想在 PyQt5 PySide2 应用程序中显示圆形图像 下面是我尝试过的代码 self statusWidget QLabel img QImage image jpg scaled 49 49 Qt IgnoreAspectRatio
  • theano中卷积神经网络的无监督预训练

    我想设计一个深度网络 其顶部有一个 或多个 卷积层 CNN 和一个或多个完全连接的隐藏层 对于具有完全连接层的深度网络 theano 中有一些方法可以进行无监督预训练 例如 使用去噪自动编码器 http www deeplearning n
  • 如何使用不同的pathdef同时运行两个MATLAB实例?

    我正在开发自己的脑成像工具箱 在 MATLAB SPM8 下运行 同时我有一个git clone我自己的工具箱代码目录 本地 git 存储库 的版本用于运行分析 此设置是根据 Kevin Reid 的回答创建的如何使用 git 同时处理多个
  • 尝试从 Windows 服务读取 IIS 站点的 web.config 文件

    我正在尝试寻找一个特别的web config安装在本地 IIS 上的网站的文件 我通过 Windows 服务进行此搜索 我执行以下操作 using ServerManager serverManager new ServerManager
  • Android 无法正确连接 MySQL 数据库

    我正在尝试了解从 MySQL 服务器发送和接收数据的 Android 应用程序的基础知识 我的实现与本学习示例无关 这是到目前为止的代码 package com davekelley polling import java io Buffe
  • 在 DQL 中加入并计数

    我有一个 MySQL 命令 但在 DQL 中找不到等效命令 我正在尝试获取评论最多的帖子列表 这是 MySQL 命令 SELECT posts id COUNT comments id AS num FROM posts LEFT JOIN
  • HP 强化 XML 外部实体注入

    Hp fortify 通过以下代码向我展示了 XML 外部实体注入 StringBuilder sb new StringBuilder StringWriter stringWriter new StringWriter sb xmlSe
  • 在android上显示圆形进度条(实心圆圈)

    如何在android上显示填充的圆形进度条 进度条应该像圆圈一样填充 而不是像环一样 并且应该具有可自定义的功能 例如动画计时动画插值器等 该项目有助于在 android 5 棒棒糖 及更高版本上显示一个简单的填充圆形进度条 它是高度可定制
  • 限制Socket io连接数

    是否可以限制nodejs中的套接字io连接数 我知道可以通过更改服务器 TCP 设置来配置限制 但我正在寻找一种在 nodejs 中执行此操作的方法 你可以很容易地实现它 var connectionsLimit 1 io on conne
  • Django/python 和 Apache Solr:pysolr 还是 solrpy?

    这个论坛是全新的 这是我的第一篇文章 在工作中 我们正在启动一个使用 Apache Solr 的项目 我负责前端系统 基于 Django 我们的 solr 数据库与任何其他数据库引擎或任何模型类都不相关 因此 Haystack 对我们不利
  • 使用node-http-proxy的默认路由?

    我想做一个简单的 Node js 反向代理来托管多个 Node JS 应用程序以及同一端口 80 上的 apache 服务器 所以我找到了这个示例here http nerdpress org 2012 04 20 hosting mult
  • 包括_str!设置“字符串文字”路径

    我必须运送一个json and a toml我的 Rust 二进制文件中的文件 它是一个独立的应用程序 人们不想在运行时传递配置文件 include str 做我想做的事 我可以写 static SETTINGS FILE STR str
  • 如何使用 ZeroMQ 处理原始 UDP?

    我有一个客户 我无法更改其代码 但我想使用 重新 编写ZeroMQ插座 客户使用原始TCP和原始的UDP插座 我知道我可以使用ZMQ ROUTER RAW对于生的TCP插座 但是原始的怎么样 UDP数据流 ZeroMQ 中对 UDP 的支持
  • CSS 不适用于 xhtml2pdf Django

    我正在尝试改进由以下人员创建的生成的 PDFxhtml2pdf和一些CSS style in my Django Project 我想例如justify a text block 但显然 它不起作用 我不知道为什么 我正在阅读大量有关该库的
  • 使用 POST 创建 HTML 表格

    我正在尝试创建一个网页 该网页接受用户输入 将其发布到创建页面 然后创建另一个在 html 表中显示数据的网页 我正在使用 file put contents 创建网页 每当我尝试包含一个循环来获取要输出的 3 个 td 的内容时 我都会收
  • “e 是 65537 (0x10001)”是什么意思?

    我想知道输出是什么e is 65537 0x10001 方法 它发生在 RSA 密钥生成过程中 使用openssl genrsa 我知道这些点意味着该数字已经通过了探针除法 并且在通过米勒 拉宾测试后打印出了加号 但我无法弄清楚 RSA 密
  • 循环和数组格式

    我刚刚完成了我必须为课堂编写的程序 该程序应该从用户那里获取 ID 和 日期 的输入 我的老师要求我们在这两个部分中放置一个循环 以防用户没有输入正确的 ID 日期 我已经将程序编写到可以接受输入的位置 但它无法区分输入是否有效 并将继续执