键盘输入语句_scanner

该博客演示了如何在Java中使用Scanner类从控制台读取用户输入。首先,通过`import java.util.Scanner;`引入Scanner类。接着,创建Scanner对象`myscanner = new Scanner(System.in);`用于读取标准输入。然后,使用`myscanner.next()`和`myscanner.nextInt()`等方法分别接收用户的姓名、年龄和工资。最后,将这些信息打印出来,展示用户输入的详细信息。

1、导入该类所在的包,java.util

2、创建该类对象   new  
            Scanner myscanner = new Scanner(System.in);

3、调用里面的功能

import java.util.Scanner;//简单的文本扫描器
public class Change{

	public static void main(String[] args){	
	   
	    	Scanner myscanner = new Scanner(System.in);//myscanner 是一个对象。
	 		System.out.println("请输入名字");
	 		String name = myscanner.next();//接受用户的字符串

	 		System.out.println("请输入年龄");
	 		int age = myscanner.nextInt();//接受用户的int

	 		System.out.println("请输入工资");
	 		double salary = myscanner.nextDouble();  //double

	 		System.out.println("人的信息如下:" + "名字:" + name + "   "+"年龄:" + age + "   "+"工资:" + salary );

 
   	}
}

### JavaScanner 类的用法 #### 基本概念 `Scanner` 是 Java 中用于获取用户输入的一个工具类,位于 `java.util` 包下。它可以通过不同的输入源(如标准输入流、文件、字符串等)来读取数据。 --- #### 导入包 在使用 `Scanner` 类之前,需要先导入相应的包: ```java import java.util.Scanner; ``` --- #### 创建 Scanner 对象 通过创建 `Scanner` 的实例对象,可以指定其输入源。常见的输入源有以下几种: 1. **从控制台输入** 使用 `System.in` 表示从键盘接收输入。 ```java Scanner sc = new Scanner(System.in); ``` 2. **从字符串读取** 可以将一个字符串作为输入源传递给 `Scanner` 构造函数。 ```java String input = "Hello World 123"; Scanner scanner = new Scanner(input); ``` 3. **从文件读取** 需要额外引入 `File` 和处理可能抛出的异常。 ```java File file = new File("example.txt"); Scanner scanner = new Scanner(file); ``` --- #### 常见方法及其功能 | 方法名 | 功能描述 | |-------------------|------------------------------------------------------------------------| | `next()` | 返回下一个完整的单词[^1] | | `nextInt()` | 返回下一个整数值[^2] | | `nextDouble()` | 返回下一个双精度浮点数值 | | `nextLine()` | 返回当前行剩余部分的内容[^4] | | `hasNextXXX()` | 判断是否存在某种类型的下一个输入项 | 以下是具体实现的例子: ##### 示例 1:基本输入操作 ```java import java.util.Scanner; public class BasicInput { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // 获取整数输入 System.out.print("请输入一个整数:"); int number = scanner.nextInt(); // 获取字符串输入 System.out.print("请输入一个字符串:"); scanner.nextLine(); // 清除缓冲区中的换行符 String text = scanner.nextLine(); // 输出结果 System.out.println("你输入的整数是:" + number); System.out.println("你输入的字符串是:" + text); scanner.close(); } } ``` ##### 示例 2:从字符串中解析不同类型的数据 ```java public class ParseStringData { public static void main(String[] args) { String input = "Java is fun! 100"; Scanner scanner = new Scanner(input); while (scanner.hasNext()) { if (scanner.hasNextInt()) { int number = scanner.nextInt(); System.out.println("整数:" + number); } else { String word = scanner.next(); System.out.println("单词:" + word); } } scanner.close(); } } ``` --- #### 特殊情况说明 1. **注意缓冲区的影响** 当调用 `nextInt()` 或其他原始类型的方法后,如果紧接着调用 `nextLine()` 来获取一行文本,则可能会跳过该行。这是因为前一次输入留下的换行符仍留在缓冲区中。解决办法是在两次调用之间加入单独的 `nextLine()` 调用来清除缓冲区。 2. **关闭资源** 使用完毕后应显式调用 `close()` 方法释放资源,否则可能导致程序无法正常运行或内存泄漏。 --- #### 结合实际应用案例 下面是一个判断回文串的小例子,展示了如何利用 `StringBuilder` 进行字符串反转并结合 `Scanner` 接收用户输入。 ```java import java.util.Scanner; public class PalindromeChecker { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入一个字符串:"); String str = sc.next(); // 字符串反转逻辑 String reversedStr = new StringBuilder().append(str).reverse().toString(); // 判断是否为回文串 boolean isPalindrome = str.equalsIgnoreCase(reversedStr); System.out.println(isPalindrome ? "是回文串" : "不是回文串"); sc.close(); } } ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值