java 在控制台输入

 

步骤:

(1)创建Scanner对象,接受从控制台输入

Scanner input=new Scanner(System.in);
(2)接受String类型或int类型

String str=new input.next();
int n=input.nextInt();
  /*在新增一个Scanner对象时需要一个System.in对象,因为实际上还是System.in在取得用户输入。Scanner的next()方法用以取得用户输入的字符串;nextInt()将取得的输入字符串转换为整数类型;同样,nextFloat()转换成浮点型;nextBoolean()转换成布尔型。*/

/*

其实next()与nextLine()区别很明确:

next() 方法遇见第一个有效字符(非空格,非换行符)时,开始扫描,当遇见第一个分隔符或结束符(空格或换行符)时,结束扫描,获取扫描到的内容,即获得第一个扫描到的不含空格、换行符的单个字符串。

使用nextLine()时,则可以扫描到一行内容并作为一个字符串而被获取到。

*/

例:

(1)输入一个字符串或数

import java.util.Scanner;

public class Demo59 {
public static void main(String[] args) {
//创建Scanner对象,接受从控制台输入
Scanner input=new Scanner(System.in);
//接受String类型
String str=input.next();
//输出结果
System.out.println(str);
}

}
 

(2)连续输入多行数,以空行结束

public static void inputInteger() {
Scanner scanner = new Scanner(System.in);
String nextLine = scanner.nextLine();
int sum = 0;

while (nextLine != null && !nextLine.equals("")) {
sum += Integer.parseInt(nextLine);
System.out.println(sum);
nextLine = scanner.nextLine();
}

System.out.println("end of input integer");
}
(3)连续输入多行字符串,以空行结束

public static void main(String[] args)
{
StringBuilder stringbuilder = new StringBuilder();
Scanner scanner = new Scanner(System.in);
while(true)
{
String text = scanner.nextLine().trim();
if ("".equals(text))
{
break;
}
stringbuilder.append(text);
}

System.out.println(stringbuilder.toString());
}
注:trim用于去除字符串两端Unicode编码小于等于32(\u0020)的所有字符;还可使用trim()的重载方法String.Trim(Char[])自定义需去除的符号。

(4)输入多个数值,以空格分开

public static void inputIntInLine() {
Scanner scanner = new Scanner(System.in);
String str = scanner.nextLine();
String[] numstr = str.split(" ");
int[] nums = new int[numstr.length];
for(int i = 0; i < numstr.length; i ++) {
nums[i] = Integer.parseInt(numstr[i]);
}
for(int n: nums) {
System.out.println(n);
}
System.out.println("end of input int in a line");

}
(5)做题时可以正确的输入

import java.util.Scanner;

public class Main{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
while(in.hasNext()){
String str = in.nextLine();
System.out.println(str);
}
}
}
 
————————————————
版权声明:本文为CSDN博主「m0_37934678」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_37934678/article/details/89015922

posted @ 2019-09-05 22:01  上官蓓儿  阅读(3011)  评论(0编辑  收藏  举报