Java中用Scanner扫描控制台输入时的一个小问题

package com.hxl;

import java.util.Scanner;

public class Test {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个整数和一个字符串:");
        int aa = sc.nextInt();
        String ss = sc.nextLine();
        System.out.println("您输入的整數是:" + aa + "您输入的字符串是:" + ss);
    }

}

【问题】此时控制台在输入第一个整数回车后,随即便不再接受输入。。

修改后的代码:

package com.hxl;

import java.util.Scanner;

public class Test {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个整数和一个字符串:");
        int aa = sc.nextInt();
        String ss = sc.nextLine();
        String ss1 = sc.nextLine();
        System.out.println("您输入的整數是:" + aa + "您输入的字符串是:" + ss1);
    }

}

【解释】Windows中回车的转义字符为\r\n,Scanner在扫描的时候碰到了它遇到的一行完整字符串后就会读出来,程序就往后走了。。。

【其他方法】可以把所有数据都用字符串来接收,然后再进行相应的转换。

原文地址:https://www.cnblogs.com/schiller-hu/p/8432329.html

时间: 2024-07-31 21:04:45

Java中用Scanner扫描控制台输入时的一个小问题的相关文章

java.util.Scanner应用详解++扫描控制台输入

java.util.Scanner应用详解 java.util.Scanner是Java5的新特征,主要功能是简化文本扫描.这个类最实用的地方表现在获取控制台输入,其他的功能都很鸡肋,尽管Java API文档中列举了大量的API方法,但是都不怎么地. 一.扫描控制台输入 这个例子是常常会用到,但是如果没有Scanner,你写写就知道多难受了. 当通过new Scanner(System.in)创建一个Scanner,控制台会一直等待输入,直到敲回车键结束,把所输入的内容传给Scanner,作为扫

Windows下Java File对象创建文件夹时的一个"坑"

import java.io.File; import java.io.IOException; public class DirCreate { public static void main(String[] args) throws IOException { // TODO Auto-generated method stub String dirStr="D:"; File dir=new File(dirStr); System.out.println("====

Word 2003安装时的一个小问题

Word2003安装时的一个小问题 今天给一个老师安装软件,出现了这个问题? 系统管理员设置了系统策略,禁止进行此安装. 解决方法 开始-运行-regedit 在注册表项里找到下面这个选项: HKEY_CLASSES_ROOT\Installer\Products\4080110900063D11C8EF10054038389C 将这项删除.再进行安装就可以了.

复习正则表达式时的一个小知识点

复习正则表达式时的一个小知识点     当分组后,若要引用此小组内容可以有两种方式 1:用 ${1} 2:用 \1 两者效果是一样的

自动切换输入焦点的一个小"插件"

<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <style> form{ margin-bottom:10px; } form#inputs>input,form#inputs2>input,form#inputs3>input{ width:40px; height:40px; border-right-co

java 怎么实现接收控制台输入?

//接收键盘输入: //怎么实现接收控制台输入? import java.util.Scanner; //Test.java import java.util.Scanner; public class Test16{ public static void main(String args[]){ System.out.println("input a number:"); Scanner in =new Scanner(System.in); int x1=in.nextInt();

java利用Scanner获取键盘输入

在运行一个java程序的时候,可能我们需要在运行的时候传递一些参数进去...咋办呢... java提供了一个Scanner类,利用这个类,我们可以很方便的获取键盘输入的参数... Scanner是一个基于正则表达式的文本扫描器~~可以从文件,输入流,字符串中解析出基本类型和字符串类型的值.Scanner类提供了多个构造器,不同的构造器可以接受文件,输入流,字符串作为数据源,用于从文件,输入流字符串中解析数据.(摘自<疯狂java讲义>李刚) 代码示例: import java.util.Sca

Java类的继承与方法调用的一个小问题

1 public class Father { 2 3 protected void server(int i){ 4 switch (i){ 5 case 1: 6 methodone(); 7 break; 8 case 2: 9 methodtwo(); 10 break; 11 case 3: 12 methodthree(); 13 break; 14 default: 15 System.out.println("error"); 16 } 17 18 19 20 } 21

每天一个小程序——选择排序时的一个小问题!

一开始我的程序如下,一直出现错误,基本上肯定逻辑上没有错误,用C-free编译运行时排序根本就没用,后来改成后面的才有用! (一),有问题的程序 #include<stdio.h>//#define LEN 10void Sort(int arry[]);int Select_min(int arry[]);int main(){ int a[10],num=0; for(num=0;num<10;num++) /*输入10个数字*/ {  scanf("%d",&a