首页 > 编程语言 >算法题 - ACM 模式中常用输入输出用法总结

算法题 - ACM 模式中常用输入输出用法总结

时间:2024-12-08 21:32:56浏览次数:8  
标签:String scan 输入输出 System ACM 用法 算法 boolean Scanner

Tips:由于算法题中的 ACM 模式需要自己解析输入输出,因此需要熟悉 Scanner、字符串格式化等基本用法

 

可以在此网站进行 ACM 模式训练:https://kamacoder.com/problemset.php?search=%E5%9F%BA%E7%A1%80

一、Scanner 用法

1.1 构造函数:

// 用法一:读取 System.in 输入的内容
Scanner scan = new Scanner(System.in);

// 用法二:将一行字符串作为输入内容
Scanner scan = new Scanner("A B C");

1.2 读取数据

Scanner scan = new Scanner(System.in);

/* 单词相关 */
// 判断输入中是否还有单词
boolean scan.hasNext();
// 读取下一个单词,此时会忽略空格,回车符号等
String scan.next();

/* 整数相关 */
// 判断输入中是否还有整数
boolean scan.hasNextInt();
// 读取下一个整数,此时会忽略空格,回车符号等
String scan.nextInt();

/* 行相关 */
// 判断输入中是否还有一行字符串
boolean scan.hasNextLine();
// 读取下一行字符串
String scan.nextLine();

/* 布尔值相关 */
boolean scan.hasNextBoolean();
String scan.nextBoolean();

/* float值相关 */
boolean scan.hasNextFloat();
String scan.nextFloat();

/* double值相关 */
boolean scan.hasNextDouble();
String scan.nextDouble();

二、字符串格式化

// 输出并保留两位小数点
double d = 1.2345;
System.out.println(String.format("%.2f", d));

 

标签:String,scan,输入输出,System,ACM,用法,算法,boolean,Scanner
From: https://www.cnblogs.com/baokang/p/18593628

相关文章

  • 算法分析中的符号表示:大小 $O$、大小 $\Omega$ 及大 $\Theta$
    在算法分析中,使用符号来表示时间复杂度或空间复杂度是数学化描述算法性能的常用方式。这些符号包括大\(O\)(Big-O)、大\(\Theta\)(Big-Theta)、大\(\Omega\)(Big-Omega)以及小\(o\)(Little-o)和小\(\omega\)(Little-omega)。它们为我们提供了评估算法效率的工具,但每种符号的使用场景和重要性......
  • 数据结构与算法之美:单链表
            Hello大家好!很高兴我们又见面啦!给生活添点passion,开始今天的编程之路!我的博客:<但凡.我的专栏:《数据结构与算法之美》、《编程之路》、《题海拾贝》欢迎点赞,关注!目录 1、什么是链表2、链表的实现(C语言)2.1节点的初始化2.2节点的打印2.3节点的插入......
  • 代码随想录算法训练营第三十八天|leetcode322. 零钱兑换、leetcode279.完全平方数、le
    1leetcode322.零钱兑换题目链接:322.零钱兑换-力扣(LeetCode)文章链接:代码随想录视频链接:动态规划之完全背包,装满背包最少的物品件数是多少?|LeetCode:322.零钱兑换哔哩哔哩bilibili思路:感觉跟之前的方法思路差不多,就是对dp初始化的时候,我开始弄错了,应该初始成无限大,对dp[......
  • 数据结构与算法——顺序表
    前言本章讲解线性表中最基础的顺序表,觉得有用的话记得点点关注。正文1.线性表线性表(linearlist)是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串 ….线性表在逻辑上是线性结构,也就说......
  • 【算法】【优选算法】位运算(上)
    目录一、位运算简介及常用操作二、191.位1的个数三、338.比特位计数四、461.汉明距离五、136.只出现一次的数字六、260.只出现一次的数字III一、位运算简介及常用操作基础位运算:右移:>>左移:<<按位取反:~按位与:&:有0就是0按位或:|:有1就是1按位异或:^:相同为0......
  • 【算法】【优选算法】字符串
    目录一、14.最⻓公共前缀二、5.最⻓回⽂⼦串三、67.⼆进制求和四、43.字符串相乘一、14.最⻓公共前缀题目链接:14.最⻓公共前缀题目描述:解题思路:思路一:我们直接两两求一下公共前缀,记录在ret字符串中,然后ret与后续继续求公共前缀,最后的ret就是结果求公共前缀,......
  • [待更新]欧几里得算法(辗转相除法)与拓展欧几里得算法
    更新日志2024/12/08:开工。欧几里得算法用途与原理欧几里得算法,用于求两个数的最大公约数。其核心原理为:\(\gcd(a,b)=\gcd(b,a\bmodb)\)证明首先,我们证明\(\gcd(a,b)=\gcd(b,a\bmodb)\)。为了方便证明,这里我们令\(a>b\)。\[\because\gcd(a,b)\mida\text,\gcd......
  • 【C++算法】33.位运算_判定字符是否唯一
    文章目录题目链接:题目描述:解法C++算法代码:图解题目链接:面试题01.01.判定字符是否唯一题目描述:解法如果使用数据结构的话哈希表:一个一个字符扫描,不在哈希表里面的就放进去,在里面的就返回false。扫描完全部不重复就返回true。也可以优化一下,字母一共26......
  • 【C++算法】34.位运算_丢失的数字
    文章目录题目链接:题目描述:解法C++算法代码:题目链接:268.丢失的数字题目描述:解法哈希表创建一个0~5的数组从前往后遍历一下,有的数字就在表里面标记一下,最后看一下哪些数字没有被标记过。高斯求和先求出应该有的和:(首项+末项)*项数÷2然后减去数组的和......
  • 机器学习(4)Kmeans算法
    1、简述聚类分析的重要性及其在机器学习中的应用  聚类分析,作为机器学习领域中的一种无监督学习方法,在数据探索与知识发现过程中扮演着举足轻重的角色。它能够在没有先验知识或标签信息的情况下,通过挖掘数据中的内在结构和规律,将数据对象自动划分为多个类别或簇。每个簇内的......