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

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

输入格式:

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

输出格式:

输出两个数的和

输入样例:

1     1
2   3
-100 100
-100   -100
 10   0

输出样例:

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

2
5
0
-200
10

代码如下:

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 包中的一个类,主要用于从输入流中读取数据(比如用户输入的整数、字符串等)。

有人可能会区分不了包、类、对象的联系与区别,我在这里简单介绍一下:

包里含有相同属性的类(你可以把包看作一个文件夹,这个文件夹里面有属性相似的文件夹类),类就相当于 C/C++ 中的结构体+方法,创建对象就相当于创建一个这个类的实例(给它赋值

类与结构体的区别:

Java 的类可以把 “数据” 和 “操作数据的行为” 打包在一起:

class Person {
    String name;
    int age;
    
    // 类里可以定义方法(行为)
    void sayHello() {
        System.out.println("我叫" + name + ",今年" + age + "岁");
    }
}

而 C 语言的结构体只能放数据,操作数据的函数要单独定义:

// 结构体只放数据
struct Person {
    char name[20];
    int age;
};

// 操作结构体的函数必须写在外面
void sayHello(struct Person p) {
    printf("我叫%s,今年%d岁\n", p.name, p.age);
}

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: 基本输入是指在Java程序中获取用户输入基本方法。可以使用Scanner类来实现基本输入。Scanner类提供了多种方法来读取不同类型的输入,例如nextInt()用于读取整数,nextDouble()用于读取浮点数,nextLine()用于读取字符串等。在使用Scanner类之前,需要先创建Scanner对象并将其与标准输入流(System.in)关联起来。例如: Scanner scanner = new Scanner(System.in); 然后就可以使用Scanner对象的方法来读取用户输入了。例如: int num = scanner.nextInt(); double d = scanner.nextDouble(); String str = scanner.nextLine(); 需要注意的是,读取完整数或浮点数后,输入缓冲区中可能还有一个回车符,需要使用nextLine()方法将其读取并丢弃。 ### 回答2: jmu-java-01入门课程的基本输入是指在Java程序中获取用户输入的一种方式。在Java中,可以使用标准输入流System.in和Scanner类来实现基本输入操作。 使用标准输入流System.in获取用户输入时,需要创建一个Scanner对象,然后使用next()、nextInt()等方法来读取用户输入的字符串、整数等类型数据。例如下面的代码: ```Java Scanner scanner = new Scanner(System.in); System.out.print("请输入您的姓名:"); String name = scanner.next(); System.out.print("请输入您的年龄:"); int age = scanner.nextInt(); System.out.println("您的姓名是:" + name + ",年龄是:" + age); ``` 上述代码中,先使用Scanner读取用户输入的姓名和年龄,然后分别用String和int类型的变量保存。最后,使用System.out.println()输出用户输入的姓名和年龄。 除了使用Scanner类,还可以使用BufferedReader类实现基本输入。BufferedReader类是一个高级的字符输入流,可以从字符输入流中读取一行或多行文本。例如: ```Java BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); System.out.print("请输入您的地址:"); String address = reader.readLine(); System.out.println("您的地址是:" + address); ``` 上述代码中,先创建一个BufferedReader对象,并使用InputStreamReader将标准输入流System.in转换成字符输入流。然后读取一行用户输入的地址,最后输出用户输入的地址。 以上就是jmu-java-01入门课程基本输入的相关内容。在实际Java开发中,基本输入操作是非常常用的,需要掌握基本输入方法才能更好地开发Java应用程序。 ### 回答3: jmu-java-01入门-基本输入Java编程语言中的重要部分,它涉及到了Java程序中如何进行基本输入操作。在Java中,我们可以通过使用Scanner类来实现基本输入操作。 Scanner类是Java中最常用的输入方式,它可以读取标准输入流或者文件流中的数据,并将其转换为相应的Java类型。需要注意的是,在进行基本输入操作时,我们需要首先导入java.util.Scanner类,然后创建Scanner对象,才能利用其提供的方法来进行输入操作。 Scanner类中最常用的输入方法为next、nextInt、nextDouble,其中next用于读取字符串,nextInt用于读取整数,nextDouble用于读取浮点数。这些方法可以通过Scanner对象来调用,例如: Scanner scanner = new Scanner(System.in); System.out.println("请输入一个整数:"); int num = scanner.nextInt(); System.out.println("你输入的整数是:" + num); 除了基本输入方法外,Scanner类还提供了一些其他的输入方法,例如hasNext、hasNextInt、hasNextDouble等,这些方法可以判断输入流中是否还有可读取的数据。 除了使用Scanner类进行输入之外,Java还支持从控制台中读取输入,我们可以通过System.in对象来获取控制台输入流。利用控制台输入流,我们可以实现基本输入操作,例如: Scanner scanner = new Scanner(System.in); System.out.println("请输入一个字符串:"); int c; StringBuilder sb = new StringBuilder(); while ((c = System.in.read()) != '\n') { sb.append((char) c); } String str = sb.toString(); System.out.println("你输入的字符串是:" + str); 在进行基本输入操作时,我们需要注意避免空指针异常、类型转换异常等错误。因此,我们需要对输入进行合理的验证和异常处理。同时,在进行输入操作时,我们还需要注意输入数据的范围和类型,以保证程序的稳定性和安全性。 总之,jmu-java-01入门-基本输入Java编程语言中的重要知识点。熟练掌握基本输入操作可以帮助开发者更好地实现Java程序的输入功能,提高程序的稳定性和安全性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值