java 中 Scanner 输入

article/2025/11/11 13:28:38

因为涉及到 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));}}   
}

http://chatgpt.dhexx.cn/article/OvRlPyjg.shtml

相关文章

Java之键盘输入语句Scanner

文章目录 键盘输入语句1. 介绍2. 步骤3. 案例演示 键盘输入语句 1. 介绍 在编程中&#xff0c;需要接收用户输入的数据&#xff0c;就可以使用键盘输入语句来获取。Input.java , 需要一个 扫描器(对象), 就是 Scanner 2. 步骤 导入该类的所在包, java.util.*创建该类对象&a…

Java的常用输入输出语句

一、概述 输入输出可以说是计算机的基本功能。作为一种语言体系,java中主要按照流(stream)的模式来实现。其中数据的流向是按照计算机的方向确定的,流入计算机的数据流叫做输入流(inputStream),由计算机发出的数据流叫做输出流(outputStream)。 Java语言体系中,对数据流…

java中输入语句是怎么写的

java中用户输入语句的写法是&#xff1a; 1、【Scanner sc new Scanner(System.in); 】&#xff1b; 2、【String input sc.next();】。 (视频教程推荐&#xff1a;java视频) 具体代码如下&#xff1a;import java.util.Scanner; public class Number { /** * param a…

java基础之java输入输出语句

1、使用Scanner 使用时需要引入包importjava.util.Scanner;首先定义Scanner对象 Java基础学习&#xff1a;java输入输出语句 比如&#xff1a; Java基础学习&#xff1a;java输入输出语句 2、使用BufferedReader 用前需要引入importjava.io.Reader; Java基础学习&#xff1…

java 键盘输入语句怎么写

java 键盘输入语句写法 第一种&#xff1a; public class shuRu{ public static void main(string arg[]){ system.out.println(arg[1]); } } 第二种&#xff1a; import java.util.scanner; public class shuRu{ public static void main(string arg[]){ scanner i…

java语言输入语句是_java中的输入语句怎么写?

java中的输入语句怎么写&#xff1f; 发布时间&#xff1a;2020-05-20 15:19:52 来源&#xff1a;亿速云 阅读&#xff1a;206 作者&#xff1a;鸽子 java中用户输入语句的写法是&#xff1a; 1、【Scanner sc new Scanner(System.in); 】&#xff1b; 2、【String input sc.…

java 输入语句_java怎样输入语句

java输入语句的方法:1、输入单个字符【char c=(char)System.in.read()】;2、输入整数或者字符串【int a=cin.nextInt()】;3、可以用BufferedReader类输入。 java输入语句的方法: 如果你要进行输入,请一定加上两个包import java.util.*; import java.io.*; 请看下面例子用于…

java输入语句怎么写

壹哥在前面给大家讲过&#xff0c;Java中给咱们提供了有三个标准的“流”&#xff0c;他们被统称为standard streams。除了负责输出的流之外&#xff0c;还有一个负责输入的标准流&#xff0c;Java中对应的API是System.in。 与标准输出相比&#xff0c;标准输入则复杂的多。尤…

java输入语句_java输入语句是什么

Java的语句有很多&#xff0c;其中输入语句是最基本的操作之一。下面我将带大家一起了解一下要如何进行输入代码的编写。 首先当你进行输入操作前要将下面两个包给加入Java程序的包行列中。 先将java.io.*;以及java.util.*;导入Java代码中。import java.util.*; import java.io…

java输入语句

java输入语句 import java.util.Scanner;//导入 java.util 包下的 Scanner 类,用来构建Scanner对象 public class TestScanner{public static void main(String[] args){Scanner scanner new Scanner(System.in);//建立Scanner对象&#xff0c;通过System.in来读取键盘输入数…

java的四种输入方法,你会几种?

java的输入方法最常见的就是Scanner的方法&#xff0c;我经过查阅一些资料发现了输入方法原来还有那么多种&#xff0c;可以玩出不少花样&#xff0c;下面是我总结出的四种输入方式&#xff0c;有需要的可以拿去 1.Scanner相关的功能 Scanner的输入方法是最常见的一种&#x…

zzlatex制作复杂表格(跨行、跨列)

用Latex制作复杂表格&#xff0c; 需要用到\multirow宏包&#xff0c; 用\multicolumn, \multirow, \hline, \cline 四种命令来控制跨列&#xff0c;跨行&#xff0c; 横线&#xff0c; 竖线位置。 原帖请见&#xff1a; http://jhengjyun.blogspot.jp/2011/01/latexmulticolu…

HTML--table--跨行跨列

效果图 代码 <!DOCTYPE html> <html><head><meta charset"utf-8"><title>跨行跨列</title><style type"text/css">table{border: 1px solid;width: 500px;}table td,th{border: 0.0625rem solid;text-align: c…

HTML表格标签跨行与跨列

关于行和列我们换个称呼&#xff1a;横与竖来形容&#xff0c;而<tr></tr>就是横&#xff0c;<th></th>和<td></td>代表的就是竖。rowspan的属性放置td标签中就是与下一横中td合并&#xff08;上下合并&#xff09;&#xff0c;此时要删除…

IDEA通过正则跨行搜索

idea快捷键&#xff1a;ctrlF (?is)key1.*?key2 如果想搜索同时包含key1和key2的关键词&#xff0c;同时&#xff0c;允许跨行&#xff0c;则可以这样搜索 如果没有加(?is)则是单行搜索

latex跨行跨列表格

使用revtex模板的跨行跨列表格时候不需要使用\usepackage{booktabs},否则midrule&#xff0c;toprule这些线条不能够正常显示。因此需要使用自带的线条。 下面记录一下我试用过的跨行跨列表格latex语法 \begin{table}[hb]\centering\caption{ \label{cutoff} nothing }\begin{…

Latex 跨行跨列表格

使用Latex进行论文写作时&#xff0c;常常需要制作跨行、跨列的表格。但是要制作一个美观的表格&#xff0c;还是有一点复杂的&#xff0c;这里列出一个绘制基本三线表的方法&#xff0c;以及需要注意的地方。更加复杂的表格可以此为模板修改内容。 效果&#xff1a; Latex代…

PHP数据跨行跨列处理

PS PHP数据跨行跨列处理&#xff0c;表格展示&#xff0c;Excel导出。后台是Dcat Admin,导出是"maatwebsite/excel": “^3.1” Excel效果 后台页面效果 示例代码 数据调用 可以放在Dcat对应Controller的数据仓库里面。 public function get(Grid\Model $model){// 返…

【干货】html表格的跨行合并与跨列合并

在HTML中经常会用到表格&#xff0c;但由于我们想要的表格总是需要不规则的。而表格的合并常常会经常用到&#xff0c;今天我们来看一下表格的合并。 首先我们要了解一下合并的步骤 先确认是跨行合并还是跨列合并根据单元格先上后下&#xff0c;先左后右来进行合并如果要合并…

HTML跨行跨列

colspan 属性规定单元格可横跨的列数<table border"1"><tr><th>姓名</th><th>性别</th></tr><tr><td colspan"2">籍贯</td></tr> </table> 效果图 rowspan 属性规定单元格可横跨…