sdut java lab7.2

7-2 sdut-JAVA-Words Containing AB

分数 9

全屏浏览

切换布局

作者 马新娟

单位 山东理工大学

Write a program that requests a word as input containing the two letters a and b (in this order). Examples of valid words would include, abacus, cab, and anybody, whereas invalid words would include branch, back, and bank. You should only concern yourself with the first occurrence of a and b should they exist.

Input Specification:

a word as input containing the two letters a and b (in this order).

Output Specification:

Output the input word is valid or not.

Sample Input:

 

Sample Output:

No input provided to check.

Sample Input:

about12

Sample Output:

Input should comprise of alphabetic characters only.

Sample Input:

about

Sample Output:

about is valid

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

栈限制

8192 KB

import java.util.Scanner;

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

        String word = scanner.nextLine();
        String result = checkWordValidity(word);

        if (result == null) {
            System.out.println("No input provided to check.");
        } else {
            System.out.println(result);
        }
    }

    private static String checkWordValidity(String word) {
        if (word.isEmpty()) {
            return null; // No input provided
        }

        if (!word.matches("[a-zA-Z]+")) {
            return "Input should comprise of alphabetic characters only.";
        }

        int indexA = word.indexOf('a');
        int indexB = word.indexOf('b');

        if (indexA != -1 && indexB != -1 && indexA < indexB) {
            return word + " is valid";
        } else {
            return word + " is not valid";
        }
    }
}

程序的目的是检查用户输入的单词是否满足特定的条件,即单词中的字母'a'是否在字母'b'之前。下面是对每一行代码的解释:

import java.util.Scanner;

导入Java的Scanner类,它用于获取用户的输入。

public class Main {

定义了一个名为Main的公共类。

public static void main(String[] args) {

定义了程序的主入口点main方法。

Scanner scanner = new Scanner(System.in);

创建了Scanner类的一个实例,用于从标准输入(键盘)读取数据。

String word = scanner.nextLine();

调用ScannernextLine方法读取用户输入的一行文本,通常是一个单词,并将其存储在变量word中。

String result = checkWordValidity(word);

调用自定义的checkWordValidity方法,并将用户输入的word作为参数传递。该方法将返回一个字符串,指示该单词是否有效。

if (result == null) {

检查checkWordValidity方法返回的result是否为null

System.out.println("No input provided to check.");

如果resultnull,表示没有输入或输入为空,程序将打印一条消息并退出。

} else { System.out.println(result); }

如果result不是null,则打印checkWordValidity方法返回的结果。

}

结束main方法。

private static String checkWordValidity(String word) {

定义了一个名为checkWordValidity的私有静态方法,它接受一个String类型的参数word,并返回一个String类型的结果。

if (word.isEmpty()) { return null; // No input provided }

检查传入的word是否为空或空白,如果是,则返回null

if (!word.matches("[a-zA-Z]+")) { return "Input should comprise of alphabetic characters only."; }

使用正则表达式验证word是否只包含字母字符,如果不满足条件,则返回一条错误消息。

int indexA = word.indexOf('a'); int indexB = word.indexOf('b');

使用indexOf方法找到单词中'a'和'b'的位置。

if (indexA != -1 && indexB != -1 && indexA < indexB) {

检查'a'和'b'是否都在单词中,并且'a'是否在'b'之前。

return word + " is valid";

如果上述条件满足,返回一条消息表明该单词是有效的。

} else { return word + " is not valid"; }

如果条件不满足,返回一条消息表明该单词是无效的。

}

结束checkWordValidity方法。

}

结束Main类。

这个程序的逻辑是:读取用户输入的单词,检查它是否只包含字母,然后检查'a'是否出现在'b'之前。根据这些条件,程序将输出单词是否有效。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/610005.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【dnSpy】通过IL指令添加try catch语句

原始代码 我们需要将整体代码添加try catch语句 步骤 添加代码的保护区域&#xff0c;也就是{ } 获取Exception.Message方法 添加callvirt指令 添加提示框 添加call指令 最后让消息框显示 编译完点击确定即可 添加后的IL指令代码详解 如果看不清楚联系作者 参考文档 ht…

支付漏洞防护绕过的一种方式

首先注册一个账户并进行登陆,点击一个商品点击进去 这里为了方便查看数据包,我这边商品的数量选择3,点击立即购买并抓包 观察数据包,发现有个num传参,正是我选择的数量3,尝试修改为负数-3,这里需要修改两个包 点击提交后发现报错了,显示已经付了或者金额不能为0 也就是说数量…

WebStorm开发插件

WebStorm开发插件 开发 WebStorm 插件是一项令人兴奋的任务&#xff0c;它可以帮助提升开发效率&#xff0c;定制 IDE 来满足个人或团队的需求。在这份指南中&#xff0c;我将向你介绍如何开始开发 WebStorm 插件&#xff0c;并提供一些实用的技巧和建议。 1. 准备工作 在开…

文心一言 VS 讯飞星火 VS chatgpt (256)-- 算法导论18.3 2题

二、请写出 B-TREE-DELETE 的伪代码。如果要写代码&#xff0c;请用go语言。 文心一言&#xff1a; 首先&#xff0c;我会提供 B-Tree 删除操作的伪代码&#xff0c;然后我会给出使用 Go 语言实现的简化版本。请注意&#xff0c;一个完整的 B-Tree 实现会涉及很多细节和边界情…

FPGA采集卡,可实现CVBS/HDMI/SDI三种信号转换

可实现CVBS/HDMI/SDI三种信号转换&#xff0c; 客户应用:电视台&#xff0c;舞台&#xff0c;会议室 主要性能: 1:标准CVBS信号输入,标准HDMI信号输入,标准SDI信号输入,输入信号自适应. 2:3G/HD/SDSDI信号输出可选 2:1080P/10801/720P/4801/5761常用分辩率可选 1080PSF/720P30/…

安防监控/视频汇聚系统EasyCVR+AI智能分析助力解决校园霸凌事件

一、方案背景 校园霸凌这一校园中不应存在的现象&#xff0c;却屡见不鲜&#xff0c;它像一把锋利的刀&#xff0c;深深地刺入那些无辜的心灵&#xff0c;让受害者承受着无尽的痛苦。随着科技的进步与发展&#xff0c;我们应该追求有效、进步的手段来阻止校园霸凌事件的发生&a…

【WEEK11】 【DAY4】员工管理系统第五部分【中文版】

2024.5.9 Thursday 接上文【WEEK11】 【DAY3】员工管理系统第四部分【中文版】 目录 10.6.增加员工10.6.1.修改list.html10.6.2.修改EmployeeController.java10.6.3.新建add.html10.6.4.重启并运行 10.6.增加员工 10.6.1.修改list.html 第53行&#xff0c;把<h2>Sectio…

揭秘金融行业:资本的流转与价值的创造

金融行业&#xff0c;这个庞大而复杂的经济体系&#xff0c;如同现代社会的血脉&#xff0c;支撑着全球经济的运行与繁荣。它不仅关乎金钱的流通&#xff0c;更是涵盖了资金的管理、分配、增值、保护以及一系列与之相关的专业服务。今天&#xff0c;就让我们一起深入探索这个充…

【intro】Graph Isomorphism Network(GIN)

论文 https://arxiv.org/pdf/1810.00826 abstract 图神经网络(gnn)是一种有效的图表示学习框架。gnn采用邻域聚合方案&#xff0c;通过递归聚合和变换相邻节点的表示向量来计算节点的表示向量。已经提出了许多GNN变体&#xff0c;并在节点和图分类任务上取得了最先进的结果。…

Linux内存管理——Swap

swap space 一个磁盘区域&#xff0c;作为内存使用。当系统内存不足时&#xff0c;会将一些很久不使用的数据转移到swap space中。 优点&#xff1a;扩展了内存空间 缺点&#xff1a;用磁盘做内存&#xff0c;读写效率降低。 swappiness swappiness的值表示建议swap space替…

DDOS攻击实战演示,一次DDOS的成本有多低?

DDoS攻击成本概览 分布式拒绝服务&#xff08;DDoS&#xff09;攻击以其低廉的启动成本和惊人的破坏力著称。攻击者通过黑市轻松获取服务&#xff0c;成本从几十元人民币的小额支出到针对大型目标的数千乃至数万元不等。为了具体理解这一成本结构&#xff0c;我们将通过一个简…

『先进技术助力』Kompas AI:智能AI代理在工作中的应用与效率提升

『智能化未来』Kompas AI如何改变我们的工作方式&#xff1f; 在这个信息时代&#xff0c;利用AI聊天机器人来处理机械性的工作已经成为一种趋势。ChatGPT作为一种智能助手&#xff0c;不仅能够提高工作效率&#xff0c;还可以帮助我们更明智地做出决策&#xff0c;从而释放出更…

“黑灯工厂“都是科技和狠活,其中可视化大屏就是火眼金睛。

夜幕降临,一座伸手不见五指的工厂,却传来了金属板与机床“咔哒咔哒”的按压声。暗色中,只有设备状态指示灯、品质检验灯以及自动行进的AGV小车激光发射器在泛着微光,整个上万平方米的生产车间都处于“黑灯”状态…… “黑灯工厂”是指在生产过程中几乎不需要人工操作的工厂。 …

【JVM】JVM规范作用及其核心

目录 认识JVM规范的作用 JVM规范定义的主要内容 认识JVM规范的作用 Java 虚拟机规范为不同的硬件平台提供了一种编译Java技术代码的规范。 Java虚拟机认得不是源文件&#xff0c;认得是编译过后的class文件&#xff0c;它是对这个class文件做要求、起作用的&#xff0c;而并…

【JavaEE 初阶(四)】多线程进阶

❣博主主页: 33的博客❣ ▶️文章专栏分类:JavaEE◀️ &#x1f69a;我的代码仓库: 33的代码仓库&#x1f69a; &#x1faf5;&#x1faf5;&#x1faf5;关注我带你了解更多线程知识 目录 1.前言2.常见的锁策略2.1悲观锁vs乐观锁2.2轻量级锁vs重量级锁2.3自旋锁vs挂起锁2.4读写…

LLM-AI大模型介绍

大语言模型 (LLM) 背景 &#x1f379;大语言模型 (Large Language Model) 是一种人工智能模型, 它们通常包含数千亿甚至更多的参数&#xff0c;并在大规模数据集上进行训练。大语言模型可以处理多种自然语言任务&#xff0c;如文本分类、问答、翻译、对话等等。 自然语言模型…

axios异步操作第一篇

1 同步请求和异步请求 客户端给java后台程序发送请求&#xff0c;发送请求的方式有两种&#xff1a; 同步请求 同步请求发送方式&#xff1a; 1 浏览器地址栏&#xff0c;输入url&#xff1a;http://localhost:8080/web-app/xxxServlet 2 3 删除 4 javascript:location.hr…

记录Postgresql 报错 the database system is in recovery mode

在开发环境中&#xff0c;突然有一天来到公司启动项目的时候报错 看到这个报错肯定是数据库出啥问题了&#xff0c;我们的数据库是部署在docker里面的。 远程服务器之后&#xff0c;使用命令查看容器&#xff0c;发现数据库容器还是启动着的 docker ps 那就进去容器内部看看…

搭建一个气膜篮球馆需要多少钱—轻空间

想要搭建一个气膜篮球馆&#xff0c;预算是个大问题。我们来谈谈具体的费用吧。 1. 建筑材料成本&#xff1a; 气膜篮球馆的建筑材料主要包括膜材、钢索等。膜材分为内膜和外膜&#xff0c;而钢索则用于支撑膜材。材料的品质和规格将直接影响到建筑的质量和使用寿命。 2. 设备…

winpcap无法安装提示新版本已经安装-window11解决办法

winpcap无法安装提示新版本已经安装-window11解决办法 问题解决办法 问题 安装ensp的时候跳出来这个问题&#xff0c;说自己的winpcap没安装&#xff0c;建议安装 但当自己去安装一个winpcap的时候&#xff0c;它又跳出来这个&#xff01; WinPcap 4.1.3 Setup A newer versi…
最新文章