Java 如何连续输入三个整数

时间: 2024-02-21 18:57:58 浏览: 16
你可以使用 java.util.Scanner 类来读取控制台输入。以下是连续输入三个整数的示例代码: ```java import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("请输入三个整数,以空格分隔:"); int a = scanner.nextInt(); int b = scanner.nextInt(); int c = scanner.nextInt(); System.out.println("您输入的三个整数分别是:" + a + "、" + b + "、" + c); } } ``` 在上面的代码中,我们首先创建了一个 Scanner 对象,然后调用 `nextInt()` 方法来读取控制台输入的整数。程序会等待用户依次输入三个整数,每个整数之间用空格分隔。最后,程序会将三个整数打印出来。
相关问题

给你一个整数数组nums,要求该数组中所有为等差数组的子数组个数(等差数组子数组,指的是至少3个数的连续数组成等差数列)输入格式:一个整数数组 输出格式:一个非负整数,表示等差子数组的个数 用java实现这道算法题

思路:遍历数组,以每个位置的数为等差数列的中间数,向两边扩展,查看是否存在等差数列。 具体做法: 1.初始化结果res为0; 2.遍历数组,以每个位置的数为等差数列的中间数,向两边扩展; 3.扩展时,记录前一个数、当前数和差值,并判断是否构成等差数列,若是则res加1,当前位置向右移动一位继续扩展; 4.当无法构成等差数列时,当前位置向右移动一位继续扩展; 5.重复2~4,直到遍历完整个数组。 Java代码实现: ```java public class Solution { public int arithmeticSlices(int[] nums) { int n = nums.length; if(n < 3) return 0; int res = 0; for(int i = 1; i < n - 1; i++) { int pre = i - 1; int cur = i; int diff = nums[cur] - nums[pre]; while(cur + 1 < n && nums[cur + 1] - nums[cur] == diff) { res++; cur++; } cur = i; while(pre >= 0 && cur + 1 < n && nums[cur + 1] - nums[cur] == nums[cur] - nums[pre]) { res++; pre--; cur++; } } return res; } } ```

给定一个长度为n的01串,定义“连续段"为极长注续的相同字符的数量,例如001110000'有一个长度为2的0连续段,长度为3的1连续段,长度为4的0的连续段。 已知每次操作可以把一个0变成1或者把1变成0。 现在请你用最少的操作欢数,使得所有0连续段的长度都是a的倍数,1连续段的长度都是b的倍数。 输入描述:第一行输人三个正整数n, a, b 第二行输入一个长度为n的,仅有字符0和1构成的字符串,其中1<= n, a, b,<=20000. 输出描述:使得字符串合法的最小操作次数,特殊的,如果无论如何字符串都不能合法,输出-1. 示例:输入 8 2 3 10111000 输出:2. 用java给出代码

import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int a = sc.nextInt(); int b = sc.nextInt(); String s = sc.next(); int cnt0 = 0; // 0连续段的长度纪录器 int cnt1 = 0; // 1连续段的长度纪录器 int ans = 0; // 操作次数 int len = 0; // 连续段长度 int flag0 = -1; // 标记下一个要匹配的0连续段的起始位置,初值设为-1 int flag1 = -1; // 标记下一个要匹配的1连续段的起始位置,初值设为-1 if(n % (a+b) != 0) { // 特判:字符串长度 不是 a + b 的倍数 System.out.println(-1); return; } for(int i = 0; i < n; i++) { if(s.charAt(i) == '0') { if(flag0 == -1) flag0 = i; // 标记0连续段的起始位置 cnt0++; if(cnt1 > 0 && cnt1 % b == 0) { // 1连续段长度为 b 的倍数 len = cnt1; while(cnt0 >= a && len > 0) { // 0连续段长度为 a 的倍数 ans += 2; cnt0 -= a; len -= b; } if(len != 0) { // 无法匹配,输出-1 System.out.println(-1); return; } else { // 匹配成功,重置标记 flag1 = -1; cnt1 = 0; } } } else { if(flag1 == -1) flag1 = i; // 标记1连续段的起始位置 cnt1++; if(cnt0 > 0 && cnt0 % a == 0) { // 0连续段长度为 a 的倍数 len = cnt0; while(cnt1 >= b && len > 0) { // 1连续段长度为 b 的倍数 ans += 2; cnt1 -= b; len -= a; } if(len != 0) { // 无法匹配,输出-1 System.out.println(-1); return; } else { // 匹配成功,重置标记 flag0 = 1; cnt0 = 0; } } } } System.out.println(ans); } }

相关推荐

爱丽丝要开车去上班,上班的路上有许多红绿灯,这让爱丽丝很难过。 为了上班不迟到,她给自己的车安装了氮气喷射装置。 现在她想知道自己上班最短需要多少时间。 爱丽丝的车最高速度是 1v 米每秒,并且经过改装后,可以瞬间加速到小于等于最高速的任意速度,也可以瞬间停止。 爱丽丝家离公司有 N 米远,路上有 M 个红绿灯,第 i 个红绿灯位于离爱丽丝家 Ai 米远的位置,绿灯持续 Bi 秒,红灯持续 Ci 秒。 在初始时(爱丽丝开始计时的瞬间),所有红绿灯都恰好从红灯变为绿灯。 如果爱丽丝在绿灯变红的瞬间到达红绿灯,她会停下车等红灯,因为她是遵纪守法的好市民。 氮气喷射装置可以让爱丽丝的车瞬间加速到超光速(且不受相对论效应的影响!),达到瞬移的效果,但是爱丽丝是遵纪守法的好市民,在每个红绿灯前她都会停下氮气喷射,即使是绿灯,因为红绿灯处有斑马线,而使用氮气喷射装置通过斑马线是违法的。 此外,氮气喷射装置不能连续启动,需要一定时间的冷却,表现为通过 K 个红绿灯后才能再次使用。(也就是说,如果 K=1,就能一直使用啦!) 初始时,氮气喷射装置处于可用状态。 输入格式 第一行四个正整数 N、M、K、V,含义如题面所述。 接下来 M 行,每行三个正整数 Ai、Bi、Ci ,含义如题面所述。 输出格式 输出一个正整数 T,表示爱丽丝到达公司最短需要多少秒。(用Java实现,无需解释)

最新推荐

recommend-type

java大作业,课程设计

1、用户输入一个整数N,表示下面数组的个数 2、用户每输入一行作为一个数组 如: 用户输入: 1 5,2,4,3,7,6 程序输出: 11 3)有一种数我们称之为幸运数,它的特点是这样的,首先,由自然数按顺序排列: 1 2 3 4 5 6 ...
recommend-type

java-servlet-api.doc

要建立一个有效的Web服务应用,你必须能够识别一个连续的来自远端的客户机的唯一的请求。随着时间的过去,发展了许多会话跟踪的技术,但是使用起来都比较麻烦。 JavaServletAPI提供了一个简单的接口,通过这个接口,...
recommend-type

计算机专业毕业设计范例845篇jsp2118基于Web停车场管理系统的设计与实现_Servlet_MySql演示录像.rar

博主给大家详细整理了计算机毕业设计最新项目,对项目有任何疑问(部署跟文档),都可以问博主哦~ 一、JavaWeb管理系统毕设项目【计算机毕设选题】计算机毕业设计选题,500个热门选题推荐,更多作品展示 计算机毕业设计|PHP毕业设计|JSP毕业程序设计|Android毕业设计|Python设计论文|微信小程序设计
recommend-type

Windows 10 平台 FFmpeg 开发环境搭建 博客资源

【FFmpeg】Windows 10 平台 FFmpeg 开发环境搭建 ④ ( FFmpeg 开发库内容说明 | 创建并配置 FFmpeg 项目 | 拷贝 DLL 动态库到 SysWOW64 目录 ) https://hanshuliang.blog.csdn.net/article/details/139172564 博客资源 一、FFmpeg 开发库 1、FFmpeg 开发库编译 2、FFmpeg 开发库内容说明 二、创建并配置 FFmpeg 项目 1、拷贝 dll 动态库到 C:\Windows\SysWOW64 目录 - 必须操作 特别关注 2、创建 Qt 项目 - C 语言程序 3、配置 FFmpeg 开发库 - C 语言项目 4、创建并配置 FFmpeg 开发库 - C++ 项目
recommend-type

基于 Spring Cloud 、Spring Boot、 OAuth2 的 RBAC 企业快速开发平台

基于 Spring Cloud 、Spring Boot、 OAuth2 的 RBAC 企业快速开发平台, 同时支持微服务架构和单体架构。提供对 Spring Authorization Server 生产级实践,支持多种安全授权模式。提供对常见容器化方案支持 Kubernetes、Rancher2 、Kubesphere、EDAS、SAE 支持
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

深入了解MATLAB开根号的最新研究和应用:获取开根号领域的最新动态

![matlab开根号](https://www.mathworks.com/discovery/image-segmentation/_jcr_content/mainParsys3/discoverysubsection_1185333930/mainParsys3/image_copy.adapt.full.medium.jpg/1712813808277.jpg) # 1. MATLAB开根号的理论基础 开根号运算在数学和科学计算中无处不在。在MATLAB中,开根号可以通过多种函数实现,包括`sqrt()`和`nthroot()`。`sqrt()`函数用于计算正实数的平方根,而`nt
recommend-type

react的函数组件的使用

React 的函数组件是一种简单的组件类型,用于定义无状态或者只读组件。 它们通常接受一个 props 对象作为参数并返回一个 React 元素。 函数组件的优点是代码简洁、易于测试和重用,并且它们使 React 应用程序的性能更加出色。 您可以使用函数组件来呈现简单的 UI 组件,例如按钮、菜单、标签或其他部件。 您还可以将它们与 React 中的其他组件类型(如类组件或 Hooks)结合使用,以实现更复杂的 UI 交互和功能。
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。