[Java]PTA:jmu-java-01入门-基本输入

对输入的若干行(每行以空格或者多个空格)数字字符串求和并输出。

输入格式:

每行包含两个数字字符串,中间以一个或者多个空格分隔。

输出格式:

输出两个数的和

输入样例:

复制代码
1     1
2   3
-100 100
-100   -100
 10   0

输出样例:

在这里给出相应的输出。例如:

复制代码
2
5
0
-200
10

代码如下:

java 复制代码
import java.util.Scanner;
public class Main{
    public static void main(String[] args)
    {
        Scanner scanner=new Scanner(System.in);
        while(scanner.hasNext())
        {
            System.out.println(scanner.nextInt()+scanner.nextInt());
        }
        scanner.close();
    }
}

代码解释:

1、import java.util.Scanner;

这是 Java 中的导入 语句,作用是导入 java.util 包中的Scanner 类,

java.util:Java 标准库中的一个包,包含了很多常用的工具类(如处理集合、日期、输入输出等类)。

Scanner :java.util 包中的一个类,主要用于从输入流中读取数据(比如用户输入的整数、字符串等)。

2、public class Main

public class Main 是 Java 程序中的一个类定义,是 Java 程序的基本结构单位。

class:Java 中定义类的关键字,表明这是一个类。

Main:类名,表示这是程序的主入口类。

public:访问修饰符,表示这个类是 "公共的",可以被其他任何类访问。

在 Java 中,如果程序包含main 方法(程序入口) ,通常会将这个方法放在Main 类中。

特别的:

  • 文件名必须与类名完全一致(包括大小写),例如 Main.java
  • 一个 .java 文件中只能有一个 public 类
3、Scanner scanner = new Scanner(System.in);

Scanner:变量类型(类名),代表 "输入扫描器" 类型。

scanner:变量名(对象引用),指代后面创建的 Scanner 对象。

new Scanner(System.in) :new是一种关键字,作用是在内存中开辟空间,创建某个类的实例对象;Scanner(...)是 Scanner 类的构造方法,用于初始化对象,参数 System.in 表示 "标准输入流",程序从键盘接收输入。

即通过 Scanner 类的构造方法,创建一个 "从键盘读取输入" 的 Scanner 对象。

4、while(scanner.hasNext())

hasNext() 是 Scanner 类的一个核心方法,用于判断输入流中是否还有 "下一个 token(标记)",通常配合循环使用,实现 "有输入就持续处理" 的逻辑。

token(标记):输入流中被空白字符(空格、换行、制表符等)分隔的最小单元。例如 "123 abc\n45" 中,"123"、"abc"、"45" 都是独立的 token。

hasNext():检查输入流中是否存在下一个 token,返回 true或 false。若用户还在输入、或输入流中还有未读取的内容时,返回 true,否则返回false。

这里与常见的 hasNextLine作比较:

方法 判断对象 适用场景
hasNext() 是否有下一个 token(标记) 读取多个独立的输入单元(如整数、单词)
hasNextLine() 是否有下一行完整内容 按行读取完整文本(如句子、整行数据)
5、System.out.println(scanner.nextInt()+scanner.nextInt());

System.out.println(...):打印结果。

nextInt():读取字符串并自动转换为整数。

scanner.nextInt():两次调用,先后读取输入流中的两个整数。

6、scanner.close();

释放 Scanner 占用的底层系统资源,避免资源泄漏和程序异常。

以上就是这道题的做题思路。

相关推荐
三品吉他手会点灯1 小时前
C语言学习笔记 - 50.流程控制4 - 流程控制为什么非常非常重要
c语言·开发语言·笔记·学习
huangdong_2 小时前
电商平台图片URL原图转换技术深度解析:从缩略图到高清原图的完整方案
java·后端·spring
記億揺晃着的那天2 小时前
Java 调用外部 Go 程序的实践:ProcessBuilder 在生产环境中的应用
java·golang·processbuilder
JAVA面经实录9172 小时前
Java 数据结构与算法 (终极完整学习文档)
java·数据结构·算法
JAVA面经实录9173 小时前
操作系统面试题
java·服务器·数据库·计算机网络·面试
一杯奶茶¥4 小时前
基于springboot的失物招领管理系统带万字文档 校园失物招领管理系统 失物认领管理系统java springboot vue
java·vue.js·spring boot·java项目
在放️4 小时前
Python 爬虫 · 第三方代理接入与合规使用
开发语言·爬虫·python
不能只会打代码4 小时前
边缘视频分析平台的架构设计与性能优化——从750ms到190ms的调优之路
java·spring boot·redis·性能优化·边缘计算·物联网竞赛
小刘|4 小时前
Spring AI Alibaba 集成和风天气 API 实战
java·服务器·前端
KANGBboy4 小时前
java知识五(继承)
java·开发语言