用JAVA写算法之输入输出篇

        本系列适合原来用C语言或其他语言写算法,但是因为找工作或比赛的原因改用JAVA语言写算法的同学。当然也同样适合初学算法,想用JAVA来写算法题的同学。

常规方法:使用Scanner类和System.out

        这种方法适用于leetcode,以及一些面试手撕(ACM模式)的场景,对于读写性能要求不高,但是简单够用。

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int n = scanner.nextInt(); // 读取一个整数double d = scanner.nextDouble(); // 读取一个浮点数String str = scanner.next(); // 读取一个单词String line = scanner.nextLine(); // 读取一整行//换行输出System.out.println("Hello");//不换行输出System.out.print("World");//格式化输出System.out.printf("%6d,%6d,%6.2f", n, n, d);}
}

        一些特殊情况,需要循环输入多组数据,直到输入结束( EOF)

Scanner scanner = new Scanner(System.in);
while (scanner.hasNextInt()) 
{int n = scanner.nextInt(); // 读取下一个整数
}

        

进阶方法:使用BufferedReader和PrintWriter进行快读快写

        适用于算法竞赛以及秋招笔试的场景(本人见过一些秋招笔试题竟然会卡快读快写,所以还是需要掌握为好),对读写性能要求比较高

import java.io.*;BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));//快读
int n = Integer.parseInt(in.readLine());
String s = in.readLine();// 快写
out.println(result.toString());
out.flush();

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

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

相关文章

uniapp中h5的微应用解决办法

考虑过用wujie&#xff0c;参考官网Vue组件封装 | 无界的教程&#xff0c;虽然没报错&#xff0c;但是子应用的vue节点根本没挂载上&#xff0c;不知道什么原因&#xff0c;如下图所示 后面采用iframe方式将子应用导入进来&#xff1a; 父应用&#xff1a; <template>&…

数据分析及应用:经营分析中的综合指标解析与应用

目录 1. 市场份额(Market Share) 2. 客户获取成本(Customer Acquisition Cost, CAC) 3. 客户生命周期价值(Customer Lifetime Value, CLV) 4. 客户留存率(Customer Retention Rate, CRR) 5. 净推荐值(Net Promoter Score, NPS) 6. 转化率(Conversion Rate) …

【大数据】Flink + Kafka 实现通用流式数据处理详解

目录 一、前言 二、流式数据处理场景介绍 2.1 流式数据处理概述 2.1.1 流式数据处理场景介绍 2.2 流式数据处理技术栈 2.2.1 数据采集 2.2.2 数据处理 2.2.3 数据存储 2.2.4 数据展示 2.3 流式数据处理场景面临的问题和挑战 三、通用的流式数据处理场景解决方案 3.1…

【Java 学习】深度剖析Java多态:从向上转型到向下转型,解锁动态绑定的奥秘,让代码更优雅灵活

&#x1f4ac; 欢迎讨论&#xff1a;如对文章内容有疑问或见解&#xff0c;欢迎在评论区留言&#xff0c;我需要您的帮助&#xff01; &#x1f44d; 点赞、收藏与分享&#xff1a;如果这篇文章对您有所帮助&#xff0c;请不吝点赞、收藏或分享&#xff0c;谢谢您的支持&#x…

JAVA-Exploit编写(7)--http-request库文件上传使用续篇

目录 1.http-request简介 2. 依赖导入 3.靶场实战 3.1 简单使用 3.2 增加判断机制 3.3 文件上传成功后的利用 3.4 正则匹配上传文件的返回的路径 1.http-request简介 http-request 是一个库 里面提供很多方法&#xff0c;使得很容易就可以构造http请求,相比于之前使用的…

抖音小程序一键获取手机号

前端代码组件 <button v-if"!isFromOrderList"class"get-phone-btn" open-type"getPhoneNumber"getphonenumber"onGetPhoneNumber">一键获取</button>// 获取手机号回调onGetPhoneNumber(e) {var that this tt.login({f…

NavVis手持激光扫描帮助舍弗勒快速打造“数字孪生”工厂-沪敖3D

在全球拥有近100家工厂的舍弗勒&#xff0c;从2016年开启数字化运营进程&#xff0c;而当前制造、库存、劳动力和物流的数字化&#xff0c;已无法支持其进一步简化工作流程&#xff0c;亟需数字化物理制造环境&#xff0c;打造“数字孪生”工厂。 NavVis为其提供NavVis VLX 3…

2024年博客之星主题创作|Android 开发:前沿技术、跨领域融合与就业技能展望

目录 引言 一、推动 Android 应用创新的核心力量 1.1 人工智能与机器学习的崛起 1.2 增强现实&#xff08;AR&#xff09;与虚拟现实&#xff08;VR&#xff09;的应用扩展 1.3 5G技术的推动 1.4 跨平台开发技术的成熟 1.4.1 React Native 1.4.2 Flutter 1.4.3 Taro …

云原生周刊:K8s 生产环境架构设计及成本分析

开源项目推荐 KubeZoneNet KubeZoneNet 旨在帮助监控和优化 Kubernetes 集群中的跨可用区&#xff08;Cross-Zone&#xff09;网络流量。这个项目提供了一种简便的方式来跟踪和分析 Kubernetes 集群中跨不同可用区的通信&#xff0c;帮助用户优化集群的网络架构、提高资源利用…

[Qt] Box Model | 控件样式 | 实现log_in界面

目录 1、样式属性 &#xff08;1&#xff09;盒模型&#xff08;Box Model&#xff09; 2、控件样式示例 &#xff08;1&#xff09;按钮 &#xff08;2&#xff09;复选框 &#xff08;3&#xff09;单选框 &#xff08;4&#xff09;输入框 &#xff08;5&#xff09…

C++并发编程之提高C++多线程应用可测试性的思想和方法

提高C多线程应用的可测试性是一个重要的课题&#xff0c;因为多线程应用程序通常比单线程应用程序更复杂&#xff0c;更容易出现难以复现的并发问题。为了确保多线程应用的可靠性和正确性&#xff0c;可以采用以下思想和方法来提高其可测试性。 1. 模块化设计 将多线程应用分…

Golang Gin系列-6:Gin 高级路由及URL参数

在本章中&#xff0c;我们将深入研究使用Gin框架的高级路由和URL参数。我们将介绍如何创建和使用路由组、应用中间件、提取路径参数、处理查询字符串、处理静态文件以及使用HTML模板。 路由分组 为什么要使用路由组&#xff1f; 使用路由组有助于保持代码结构整洁有序。当路由…

Javascript IndexedDB(Dexie.js) React 存储大量(5-50M)的完整示例

将 IndexedDB 整合到 React 应用中,可以为你的应用提供高效的客户端存储解决方案,特别适用于需要存储大量结构化数据或离线功能的场景。为了简化 IndexedDB 的使用,通常推荐使用封装好的库,如 Dexie.js 或 idb。这些库提供了更简洁和友好的 API,方便在 React 中进行集成。…

android wifi AsyncChannel(WifiManager和WifiP2pManager)

AynscChannel的讲解 [Android]AsyncChannel介绍-CSDN博客 WifiP2pManager里的channel的使用理解 WifiP2pManager.java public void createGroup(Channel c, ActionListener listener) {checkChannel(c);c.mAsyncChannel.sendMessage(CREATE_GROUP, WifiP2pGroup.NETWORK_ID_PE…

【2025】拥抱未来 砥砺前行

2024是怎样的一年 2024在历史画卷上是波澜壮阔的一年&#xff0c;人工智能的浪潮来临&#xff0c;涌现出无数国产大模型。 22年11月ChatGPT发布&#xff0c;它的出现如同在平静湖面上投下一颗巨石&#xff0c;激起了层层波澜&#xff0c;短短五天用户数就达到了100万&#xff0…

FreeRTOS系统移植

前言 学习RTOS之前最重要的就是要学会将系统移植到单片机中&#xff0c;这里可以直接使用cubemx生成移植好的工程&#xff0c;也可以下载库来进行自己移植&#xff0c;这里我选择下载库来自己移植&#xff0c;因为这样可以配合Linux开发stm32单片机程序。 一、下载系统代码 …

算法题目总结-栈和队列

文章目录 1.有效的括号1.答案2.思路 2.最小栈1.答案2.思路 3.前 K 个高频元素1.答案2.思路 4.用栈实现队列1.答案2.思路 5.删除字符串中的所有相邻重复项1.答案2.思路 1.有效的括号 1.答案 package com.sunxiansheng.arithmetic.day10;import java.util.Stack;/*** Descripti…

MySQL 事务及MVCC机制详解

目录 什么是事务 事务的隔离级别 数据库并发的三种场景 读-写 什么是事务 事务就是一组DML语句组成&#xff0c;这些语句在逻辑上存在相关性&#xff0c;这一组DML语句要么全部成功&#xff0c;要么全部失败&#xff0c;是一个整体。MySQL提供一种机制&#xff0c;保证我们…

微服务学习-快速搭建

1. 速通版 1.1. git clone 拉取项目代码&#xff0c;导入 idea 中 git clone icoolkj-microservices-code: 致力于搭建微服务架构平台 1.2. git checkout v1.0.1版本 链接地址&#xff1a;icoolkj-microservices-code 标签 - Gitee.com 2. 项目服务结构 3. 实现重点步骤 …

arkime安装

这次试一下新的办法 先下载centOS 7 然后改成阿里云镜像 输入命令备份官方yum源配置文件 cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak 下载阿里云源配置&#xff0c;覆盖原文件 curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirr…