蓝桥杯Java之输入输出练习题

题目 1:多组A+B(基础版)

题目描述:
输入多组数据,每组数据包含两个整数 A 和 B,计算它们的和。输入以 文件结尾(EOF) 结束。

输入格式:
每行包含两个整数 A 和 B(-10^9 ≤ A, B ≤ 10^9)。

输出格式:
对于每组输入,输出 A+B 的结果,每行输出一个结果。

输入示例:

1 2

3 4

5 6

输出示例:

3

7

11

解题思路:

  • 题目要求输入 多组数据,并且以 EOF(End Of File) 结束,因此不能使用固定次数的循环。
  • 使用 Scanner.hasNextInt() 或 BufferedReader.readLine() 来判断是否有新的输入。

解法 1:Scanner

import java.util.Scanner;
public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);while (scanner.hasNextInt()) {  // 判断是否有输入int a = scanner.nextInt();int b = scanner.nextInt();System.out.println(a + b);}scanner.close();}
}

解法 2:BufferedReader

import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.IOException;public class Main {public static void main(String[] args) throws IOException {BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));String line;while ((line = reader.readLine()) != null) { // 读取到EOFString[] nums = line.split(" ");int a = Integer.parseInt(nums[0]);int b = Integer.parseInt(nums[1]);System.out.println(a + b);}}}

题目 2:计算圆的面积

题目描述:
输入一个半径 r,计算圆的面积,并保留两位小数

输入格式:
输入一个正整数 r(1 ≤ r ≤ 1000)。

输出格式:
输出圆的面积,结果保留两位小数

输入示例:

2

输出示例:

12.57

解题思路:

  • 计算圆的面积,公式为 π * r * r。
  • 需要使用 格式化输出,保留两位小数,使用 System.out.printf("%.2f", area);。

Java代码:

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int r = scanner.nextInt();double area = Math.PI * r * r;System.out.printf("%.2f\n", area);}}

题目 3:整数除法

题目描述:
输入两个整数 A 和 B,计算 A 除以 B 的整数部分,以及余数

输入格式:
输入包含两个整数 A 和 B(-10^9 ≤ A ≤ 10^9, 1 ≤ B ≤ 1000)。

输出格式:
输出 A 除以 B 的整数部分和余数,用空格隔开。

输入示例:

10 3

输出示例:

3 1

解题思路:

  • 直接使用 A / B 求整数部分,使用 A % B 求余数。

Java代码:

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int a = scanner.nextInt();int b = scanner.nextInt();System.out.println((a / b) + " " + (a % b));}}

题目 4:换行输入的 A+B

题目描述:
输入两行,每行一个整数 A 和 B,计算 A+B。

输入格式:
第一行输入整数 A(-10^9 ≤ A ≤ 10^9),第二行输入整数 B。

输出格式:
输出 A+B 的结果。

输入示例:

5

6

输出示例:

11

解题思路:

  • 需要读取 两行 输入,并计算它们的和。

Java代码:

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int a = Integer.parseInt(scanner.nextLine());int b = Integer.parseInt(scanner.nextLine());System.out.println(a + b);}}

题目 5:浮点数的四舍五入

题目描述:
输入一个浮点数 x(0 ≤ x ≤ 10000),对其进行四舍五入,输出整数

输入格式:
输入一个浮点数 x。

输出格式:
输出 x 四舍五入后的整数。

输入示例:

3.6

输出示例:

4

解题思路:

  • 直接使用 Math.round(x) 进行四舍五入。

Java代码:

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);double x = scanner.nextDouble();System.out.println(Math.round(x));}}

题目6:大数求和(int溢出问题)

题目描述:

输入两个整数A和B(取值范围为-1e18到1e18),输出A+B的值。

输入示例:

1000000000000000000 2000000000000000000  

输出示例:

3000000000000000000  

参考代码:

import java.io.*;import java.math.BigInteger;public class Main {public static void main(String[] args) throws IOException {BufferedReader br = new BufferedReader(new InputStreamReader(System.in));String[] input = br.readLine().split(" ");BigInteger a = new BigInteger(input[0]);BigInteger b = new BigInteger(input[1]);System.out.println(a.add(b));}}

解析:

数据类型选择:int和long均无法存储1e18范围的值,必须使用BigInteger。

易错点:

直接使用long仍可能溢出(如Long.MAX_VALUE = 9e18,但题目输入可能超过此范围)。

未处理负数输入。

题目3:保留三位小数的浮点运算

题目描述:

输入一个浮点数r,表示球的半径,计算球体积并保留三位小数(公式:v=3/4tr3)

输入示例:

3.0  

输出示例:

113.097  

参考代码:

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);double r = sc.nextDouble();double volume = 4.0 / 3 * Math.PI * Math.pow(r, 3);System.out.printf("%.3f", volume); // 自动四舍五入}}

解析:

浮点运算陷阱:

4 / 3在Java中结果为1(整数除法),需写为4.0 / 3。

格式化输出:printf中的%.3f会自动四舍五入到第三位小数。

题目4:混合输入处理

题目描述:

第一行输入一个整数n,表示后续有n组数据。每组数据包含一个字符串和一个整数,格式为[字符串] [整数]。输出所有整数之和。

输入示例:

3  

Apple 5  

Banana 10  

Orange 15  

输出示例:

30  

参考代码:

import java.io.*;public class Main {public static void main(String[] args) throws IOException {BufferedReader br = new BufferedReader(new InputStreamReader(System.in));int n = Integer.parseInt(br.readLine());int sum = 0;for (int i = 0; i < n; i++) {String[] parts = br.readLine().split(" ");sum += Integer.parseInt(parts[1]); // 取第二个元素}System.out.println(sum);}}

解析:

输入顺序处理:每组数据的第二个元素是整数,需通过索引parts[1]提取。

易错点:

字符串可能包含空格(如Hello World 20,此时parts[1]可能不是整数)。

未处理非数字字符(如输入为Apple Five)。

题目5:边界条件测试(极大值)

题目描述:

输入两个整数A和B(取值范围为0到1e18),输出A*B的值。

输入示例:

1000000000 3000000000  

输出示例:

3000000000000000000  

参考代码:

import java.io.*;public class Main {public static void main(String[] args) throws IOException {BufferedReader br = new BufferedReader(new InputStreamReader(System.in));String[] input = br.readLine().split(" ");long a = Long.parseLong(input[0]);long b = Long.parseLong(input[1]);System.out.println(a * b);}}

解析:

溢出问题:

1e9 * 3e9 = 3e18,在long范围内(Long.MAX_VALUE = 9e18)。

若结果超过9e18,需改用BigInteger。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mybatis篇

1&#xff0c;什么是Mybatis &#xff08; 1 &#xff09;Mybatis 是一个半 ORM&#xff08;对象关系映射&#xff09;框架&#xff0c;它内部封装了 JDBC&#xff0c;开发时只需要关注 SQL 语句本身&#xff0c;不需要花费精力去处理加载驱动、创建连接、创建 statement 等繁…

文件上传全详解

前言 我们下面进行下一个漏洞——文件上传的学习。文件上传是常见漏洞之一&#xff0c;是Web安全必学漏洞。为探讨清楚文件上传漏洞的诸多细节&#xff0c;我们特以经典的upload-labs进行从入门到进阶的专项训练。 作者进行upload-labs靶场练习时&#xff0c;在环境配置上出了…

【centOS】搭建公司内网git环境-GitLab 社区版(GitLab CE)

1. 安装必要的依赖 以 CentOS 7 系统为例&#xff0c;安装必要的依赖包&#xff1a; sudo yum install -y curl policycoreutils openssh-server openssh-clients postfix sudo systemctl start postfix sudo systemctl enable postfix2. 添加 GitLab 仓库 curl -sS https:/…

阿里云 | DeepSeek人工智能大模型安装部署

ModelScope是阿里云人工智能大模型开源社区 ModelScope网络链接地址 https://www.modelscope.cn DeepSeek模型库网络链接地址 https://www.modelscope.cn/organization/deepseek-ai 如上所示&#xff0c;在阿里云人工智能大模型开源社区ModelScope中&#xff0c;使用阿里云…

Android13-系统服务大管家-ServiceManager进程-启动篇

文章目录 关注 ServiceMager 原因ServerManager需要掌握的知识资料参考ServiceManager 进程启动启动脚本涉及到的相关源码文件源码跟踪ServiceManager脚本启动位置ServiceManager关联脚本 Native层源码分析main.cpp流程打开驱动 initWithDriverinitmakeProcessState 构造方法op…

【华为OD-E卷 - 113 跳格子2 100分(python、java、c++、js、c)】

【华为OD-E卷 - 跳格子2 100分&#xff08;python、java、c、js、c&#xff09;】 题目 小明和朋友玩跳格子游戏&#xff0c;有 n 个连续格子组成的圆圈&#xff0c;每个格子有不同的分数&#xff0c;小朋友可以选择以任意格子起跳&#xff0c;但是不能跳连续的格子&#xff…

DeepSeek-R1 云环境搭建部署流程

DeepSeek横空出世&#xff0c;在国际AI圈备受关注&#xff0c;作为个人开发者&#xff0c;AI的应用可以有效地提高个人开发效率。除此之外&#xff0c;DeepSeek的思考过程、思考能力是开放的&#xff0c;这对我们对结果调优有很好的帮助效果。 DeepSeek是一个基于人工智能技术…

npm安装electron安装报错

npm安装electron巨慢&#xff0c;报错&#xff0c;换了镜像源也不好使&#xff0c;一般都是网络超时导致的。 cmd窗口执行&#xff1a;&#xff08;打开npm的配置文件&#xff09; npm config edit在配置文件中粘贴&#xff0c;并保存&#xff1a; registryhttps://regis…

x64、aarch64、arm与RISC-V64:详解四种处理器架构

x64、aarch64、arm与RISC-V64:详解四种处理器架构 x64架构aarch64架构ARM架构RISC-V64架构总结与展望在计算机科学领域,处理器架构是构建计算机系统的基石,它决定了计算机如何执行指令、管理内存和处理数据。x64、aarch64、arm与RISC-V64是当前主流的四种处理器架构,它们在…

项目顺利交付,几个关键阶段

年前离放假还有10天的时候&#xff0c;来了一个应急项目&#xff0c; 需要在放假前一天完成一个演示版本的项目&#xff0c;过年期间给甲方领导看。 本想的最后几天摸摸鱼&#xff0c;这么一来&#xff0c;非但摸鱼不了&#xff0c;还得加班。 还在虽然累&#xff0c;但也是…

昇思打卡营第五期(MindNLP特辑)番外:硅基流动 x 华为云DeepSeek V3 API推理MindTinyRAG

1.前言 前脚&#xff0c;DeepSeek面临的巨头企业官宣加入vs多国政府下场质疑的冰火两重天局势尚未平静&#xff08;DeepSeek在美两重天&#xff1a;五大巨头接入&#xff0c;政府诚惶诚恐&#xff09;&#xff1b;后脚&#xff0c;OpenAI被逼急&#xff0c;凌晨亮出全新推理…

MYSQL索引与视图

一、新建数据库 mysql> create database mydb15_indexstu; mysql> use mydb15_indexstu; 二、新建表 &#xff08;1&#xff09;学生表Student mysql> create table Student(-> Sno int primary key auto_increment,-> Sname varchar(30) not null unique,-…

使用java代码操作rabbitMQ收发消息

SpringAMQP 将来我们开发业务功能的时候&#xff0c;肯定不会在控制台收发消息&#xff0c;而是应该基于编程的方式。由于RabbitMQ采用了AMQP协议&#xff0c;因此它具备跨语言的特性。任何语言只要遵循AMQP协议收发消息&#xff0c;都可以与RabbitMQ交互。并且RabbitMQ官方也…

介绍10个比较优秀好用的Qt相关的开源库

记录下比较好用的一些开源库 1. Qt中的日志库“log4qt” log4qt 是一个基于 Apache Log4j 设计理念的 Qt 日志记录库&#xff0c;它为 Qt 应用程序提供了强大而灵活的日志记录功能。Log4j 是 Java 领域广泛使用的日志框架&#xff0c;log4qt 借鉴了其优秀的设计思想&#xff…

【远程控制】安装虚拟显示器

todesk远程发现没显示器的机器有问题 电脑如果不外接一个显示器那么会默认为1024 768 分辨率需要安装虚拟显示器参考 竟然是一个隐私屏幕的解决方案。 虚拟显示器 Parsec-vdd 项目地址 Parsec-vdd 最大的优点是&#xff1a;支持 4K 高刷、可添加多个虚拟屏、 H-Cursor&#…

嵌入式面试题 C/C++常见面试题整理_7

一.什么函数不能声明为虚函数? 常见的不能声明为虚函数的有:普通函数(非成员函数):静态成员函数;内联成员函数;构造函数;友元函数。 1.为什么C不支持普通函数为虚函数?普通函数(非成员函数)只能被overload&#xff0c;不能被override&#xff0c;声明为虚函数也没有什么意思…

赛博算命之 ”梅花易数“ 的 “JAVA“ 实现 ——从玄学到科学的探索

hello~朋友们&#xff01;好久不见&#xff01; 今天给大家带来赛博算命第三期——梅花易数的java实现 赛博算命系列文章&#xff1a; 周易六十四卦 掐指一算——小六壬 更多优质文章&#xff1a;个人主页 JAVA系列&#xff1a;JAVA 大佬们互三哦~互三必回&#xff01;&#xf…

UNI-MOL: A UNIVERSAL 3D MOLECULAR REPRESENTATION LEARNING FRAMEWORK

UNI-MOL: A UNIVERSAL 3D MOLECULAR REPRESENTATION LEARNING FRAMEWORK Neurips23 推荐指数&#xff1a;#paper/⭐⭐⭐#​&#xff08;工作量不小) 动机 在大多数分子表征学习方法中&#xff0c;分子被视为 1D 顺序标记或2D 拓扑图&#xff0c;这限制了它们为下游任务整合…

【DeepSeek论文精读】3. DeepSeekMoE:迈向混合专家语言模型的终极专业化

欢迎关注[【AIGC论文精读】](https://blog.csdn.net/youcans/category_12321605.html&#xff09;原创作品 【DeepSeek论文精读】1. 从 DeepSeek LLM 到 DeepSeek R1 【DeepSeek论文精读】2. DeepSeek LLM&#xff1a;以长期主义扩展开源语言模型 【DeepSeek论文精读】3. DeepS…

AI 编程工具—Cursor 进阶篇 文章改写生成整理爬取

AI 编程工具—Cursor 进阶篇 文章改写生成整理爬取 其实对做自媒体的人而言,整理素材其实是一件非常耗时的事情,今天我们来看一下如何使用Cursor来帮我们解决这些问题,首先我们要建一个单独的项目,因为这个项目不涉及任何代码操作,只是文字相关的事情,还有就是这个项目需…