因为涉及到 io 流输入问题,如果不关闭会一直占用资源。所以使用过后要及时关闭,防止资源一直被占用。
Scanner在使用前要导入 java.util.Scanner 包

1.整数

描述:
输入一个整数,输出这个整数。
输入描述:
输入一个整数,范围在32位有符号整数范围内
输出描述:
输出这个整数

代码

nextInt() 方法是将输入信息的下一个标记扫描为一个 int。
hasNext()如果此扫描器的输入中有另一个标记,则返回 true。在等待要扫描的输入时,此方法可能阻塞。扫描器将不执行任何输入。 如果仍有元素可以迭代,则返回 true。

import java.util.Scanner;
public class Main{public static void main(String[] args){// System.out.println("请输入一个整数");Scanner sc = new Scanner(System.in);int nume = sc.nextInt();System.out.println(nume);}
}

代码优化:

import java.util.Scanner;
public class Main{public static void main(String[] args){// System.out.println("请输入一个整数");Scanner sc = new Scanner(System.in);if(sc.hasNext()){int nume = sc.nextInt(); System.out.println(nume);}sc.close();}
}

2.浮点数

描述
输入一个浮点数,输出这个浮点数。
输入描述:
输入一个浮点数
输出描述:
输出一个浮点数,保留三位小数

代码

%.3f 浮点型输出,保留三位小数
nextFloat() 将输入信息的下一个标记扫描为一个 float。

import java.util.Scanner;
public class Main{public static void main(String[] args){Scanner sc = new Scanner(System.in);if(sc.hasNext()){float nume = sc.nextFloat(); //如何限制float的位数,String类中的format方法可以解决这个问题System.out.println(String.format("%.3f",nume));}sc.close();}
}

3.字符

描述
输入一个字符,输出这个字符。
输入描述:
输入一个字符,范围在ascii范围内
输出描述:
输出这个字符

代码
import java.util.Scanner;
public class Main{public static void main(String[] args){Scanner sc = new Scanner(System.in);if(sc.hasNext()){String in = sc.nextLine();System.out.println(in);}sc.close();      }
}

4.输入两个整数

描述
从键盘上输入三个整数,并尝试在屏幕上显示第二个整数。
输入描述
一行输入 3 个整数,用空格隔开。
输出描述:
请输出第二个整数的值。

代码
import java.util.Scanner;
public class Main{public static void main(String[] args){Scanner sc = new Scanner(System.in);int[] arr=new int[3];if(sc.hasNext()){for(int i = 0; i < 3; i++){arr[i] = sc.nextInt();}System.out.println(arr[1]);}sc.close();}
}

5.字符矩阵

描述
用键盘读入一个字符,然后在屏幕上显示用这个字符组成的 33 的矩形。
输入描述:
一行读入一个 char 类型的字符。
输出描述:
输出这个字符组成的 3
3 矩形。

代码
import java.util.Scanner;
public class Main {public static void main(String[] args){Scanner sc = new Scanner(System.in);//输入单字符,sc.next().charAt(0);if(sc.hasNext()){char in = sc.next().charAt(0);  for(int i = 0 ; i < 3 ; i++){for(int j = 0 ; j < 3 ; j++){System.out.print(in);}System.out.println();}}sc.close();}
}

6.字符菱形

描述
牛用键盘读入一个字符,然后在屏幕上显示一个用这个字符填充的对角线长5个字符,倾斜放置的菱形。
输入描述:
输入一个char类型字符
输出描述
输出一个用这个字符填充的对角线长5个字符,倾斜放置的菱形

代码
import java.util.Scanner;
public class Main{public static void main(String[] args){Scanner sc = new Scanner(System.in);char in = sc.next().charAt(0);//上部分的行数,包括对角线int n = 3;//循环输出前半部分for(int i = 1 ; i <= n; i++){//输出每行前面的空格,并逐级减少,第一行两个,第二行一个,第三行0个for(int j = 1; j <= n - i; j++){System.out.print(" ");}//每行输出的字符个数是改行的2倍健1,2*i-1for(int j = 1; j <= 2 * i - 1;j++){System.out.print(in);}//每行的结尾要换行System.out.println();}//循环输出后半部分int m = n - 1;//后半部分的行数是前半部分行数减1,m=2for(int i = 1; i <= m; i++){//i=1时,是第四行,打印1个空格,3个字符//i=2时,是第五行,打印0个空格,1字符个//输出空格for(int j = 1; j <= i; j++){System.out.print(" ");}for(int j = 1; j <= 2*(m-i)+1 ; j++){System.out.print(in);}System.out.println();}}
}

7.字符转 ASCII 码

描述
输入一个字符,输出该字符相应的ASCII码。
输入描述:
一行,一个字符。
输出描述:
一行,输出输入字符对应的ASCII码。

代码
import java.util.Scanner;
public class Main{public static void main(String[] args){Scanner sc = new Scanner(System.in);if(sc.hasNext()){char in = sc.next().charAt(0);System.out.println((int)in);}sc.close();}
}

8.实现四舍五入

描述
将浮点数转换为整数类型,要求四舍五入。
输入描述:
随机输入的浮点数
输出描述:
四舍五入之后的整数

代码

round(float a)
返回最接近参数的 int。

import java.util.Scanner;
public class Main {public static void main(String[] args){Scanner sc = new Scanner(System.in);if(sc.hasNextDouble()){double in = sc.nextDouble();System.out.println(Math.round(in));}sc.close();}
}

9.成绩输入输出

描述
输入3科成绩,然后把三科成绩输出,成绩为整数形式。
输入描述:
一行,3科成绩,用空格分隔,范围(0~100)。
输出描述:
一行,把3科成绩显示出来,输出格式详见输出样

代码
import java.util.Scanner;
public class Main {public static void main(String[] args){Scanner sc = new Scanner(System.in);int[] arr = new int[3];if(sc.hasNext()){for(int i = 0; i < arr.length; i++){arr[i] = sc.nextInt(); } System.out.println("score1="+arr[0]+",score2="+arr[1]+",score3="+arr[2]);} sc.close();}
}

10.学生基本信息输入输出

描述
依次输入一个学生的学号,以及3科(C语言,数学,英语)成绩,在屏幕上输出该学生的学号,3科成绩(注:输出成绩时需进行四舍五入且保留2位小数)。
数据范围:学号满足 1<= n <=20000000 ,各科成绩使用百分制,且不可能出现负数
输入描述:
学号以及3科成绩,学号和成绩之间用英文分号隔开,成绩之间用英文逗号隔开。
输出描述:
学号,3科成绩,输出格式详见输出样例。

代码
import java.util.Scanner;
public class Main{public static void main(String[] args){Scanner in = new Scanner(System.in);String nume = in.nextLine();String[] id = nume.split(";");String score = id[1];String[] scores = score.split(",");System.out.print("The each subject score of No. "+Integer.parseInt(id[0])+" is " + String.format("%.2f",Float.parseFloat(scores[0]))+", " + String.format("%.2f",Float.parseFloat(scores[1])) +", " + String.format("%.2f",Float.parseFloat(scores[2])) +".");in.close();}
}

11.按照格式输入并交换输出

描述
输入两个整数,范围-2的31次方~2的31次方-1,交换两个数并输出。
输入描述
输入只有一行,按照格式输入两个整数,范围,中间用“,”分隔。
输出描述:
把两个整数按格式输出,中间用“,”分隔。

代码

nextLine() 接收 String 类型的输入

import java.util.Scanner;
public class Main {public static void main(String[] args){Scanner sc = new Scanner(System.in);String twoNums = sc.nextLine();String[] nums = twoNums.split(",");System.out.println(nums[0].substring(0,2) + nums[1].substring(2) + ","+ nums[1].substring(0,2) + nums[0].substring(2));sc.close();}
}

12.大小写转换

描述
实现字母的大小写转换。多组输入输出。
输入描述:
多组输入,每一行输入大写字母。
输出描述:
针对每组输入输出对应的小写字母

代码
public class Main {public static void main(String[] args){Scanner sc = new Scanner(System.in);  while(sc.hasNext()){//表示是否有输入数据char num = sc.next().charAt(0);System.out.println((char)(num+32));}}
}

java 中 Scanner 输入相关推荐

  1. 在java中如何输入_java如何输入

    ❶ java 如何从键盘上接受输入 public class import { public static void main(String[] args) { System.out.println( ...

  2. java中检测输入是否合法的方法

    public class TestInput {public static void main(String[] args) {System.out.println("请输入一个整数:&qu ...

  3. Java中如何输入一个字符串

    Java中如何输入一个字符串 首先需导入java.util包中的Scanner类,如图: 接着在main里创建Scanner类对象,记得要把System.in加上这是专门获取用户输入的内容的,它会交给 ...

  4. Java中键盘输入一个数组的具体操作及说明

    在java中需要输入一个数组,再对输入的数组进行一些基本操作.这里给出了"(2)键盘输入一个数组:(2)计算数组和:(3)计算数组中的最大值 "的完整代码. import java ...

  5. java中控制台输入二维数组(Scanner类总结)

    由于牛客和LeetCode上的题目不用自己写输入,但实际笔试中都需要从输入开始写,遇到需要从控制台输入二维数组的情况,故对java中的Scanner类作整理和总结. 通过 Scanner 类能获取用户 ...

  6. Java中的输入scanner

    1.什么是scanner. 为了方便灵活的使用参与运算的操作数,java提供了一个工具给我们使用,让我们可以手动输入一些数据. Scanner(目前来说,只需要掌握如何使用格式即可)scanner的使 ...

  7. Java中键盘输入 Scanner

    为了方便灵活的使用参与运算的操作数,java提供了一个工具,让我们可以手动输入一些数据. 1.导包(放在类class上面,package下面) import java.util.Scanner; 2. ...

  8. Java中同时输入字符串和int类型出错的处理方式

    在Java中,如果输入int类型和字符串处理不当会产生错误,例如:如果先输入int类型,在输入字符串类型,如下代码: Scanner sc=new Scanner(System.in);int a=s ...

  9. java中Scanner类中 next()与nextLine()的区别

    问题:提示用户输入一个英文字符串或者要解密的字符串,然后通过扫描仪获取用户输入的字符串,经过加密或者解密后,把字符串输出. import java.util.Scanner;public class ...

最新文章

  1. 半分钟内能看透问题本质的人是如何思考的?
  2. 疫后“反弹式”增长,AI营销或为广告业打开一扇新窗
  3. Hadoop hdfs文件操作常用命令
  4. 积跬步,聚小流-------js实现placeholder的效果
  5. 关于java的集合类,以及HashMap中Set的用法!
  6. [ubuntu setting]Change system language
  7. 静物摄影用光技巧_室内人像摄影想要拍好,这3种用光技巧你了解吗?
  8. NLP之路-继续书本上的实验
  9. android webview内存泄漏,Android由webview引起的内存泄漏
  10. 局域网计算机不能共享常见问题
  11. python打包和添加数据文件_使用pyinstaller 2.1将python打包并添加版本信息和图标
  12. Java简单猜数字游戏
  13. resultful规范使用
  14. 创新案例分享 | 医院DRG系统建设项目,助力精细化分析医疗数据
  15. iperf 网速测速
  16. Java图书管理系统简化版期末考核作业
  17. 对android小程序的结论,微信小程序引入外部字体总结(针对安卓加载缓慢问题)...
  18. 如何书写UserCase
  19. C# 生成32位随机数
  20. 七倍压电路图_倍压整流电路原理

热门文章

  1. 【引语练习题】直接引语与间接引语
  2. 西门子精智面板实现画面返回功能
  3. 扫把和纸篓〖Max毛发练习〗
  4. 第六代微型计算机是,第六代酷睿处理器Skylake首发测试
  5. 内网渗透:九、certutil-远程下载绕过
  6. C++:Main函数参数列表及参数类型转换
  7. 数据仓库【书籍推荐】
  8. vue 作者在2022-2-7起宣布 vue3 正式作为默认版本
  9. tcpcopy安装教程
  10. springboot+poi导出指定格式Excel模板详解+Demo