因为涉及到 io 流输入问题,如果不关闭会一直占用资源。所以使用过后要及时关闭,防止资源一直被占用。
Scanner在使用前要导入 java.util.Scanner 包
描述:
输入一个整数,输出这个整数。
输入描述:
输入一个整数,范围在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();
}
}

描述
输入一个浮点数,输出这个浮点数。
输入描述:
输入一个浮点数
输出描述:
输出一个浮点数,保留三位小数
%.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();
}
}
描述
输入一个字符,输出这个字符。
输入描述:
输入一个字符,范围在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();
}
}
描述
从键盘上输入三个整数,并尝试在屏幕上显示第二个整数。
输入描述:
一行输入 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();
}
}
描述
用键盘读入一个字符,然后在屏幕上显示用这个字符组成的 33 的矩形。
输入描述:
一行读入一个 char 类型的字符。
输出描述:
输出这个字符组成的 33 矩形。
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();
}
}
描述
牛用键盘读入一个字符,然后在屏幕上显示一个用这个字符填充的对角线长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-1
for(int j = 1; j <= 2 * i - 1;j++){
System.out.print(in);
}
//每行的结尾要换行
System.out.println();
}
//循环输出后半部分
int m = n - 1;//后半部分的行数是前半部分行数减1,m=2
for(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();
}
}
}
描述
输入一个字符,输出该字符相应的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();
}
}
描述
将浮点数转换为整数类型,要求四舍五入。
输入描述:
随机输入的浮点数
输出描述:
四舍五入之后的整数
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();
}
}
描述
输入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();
}
}
描述
依次输入一个学生的学号,以及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();
}
}
描述
输入两个整数,范围-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();
}
}
描述
实现字母的大小写转换。多组输入输出。
输入描述:
多组输入,每一行输入大写字母。
输出描述:
针对每组输入输出对应的小写字母
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));
}
}
}
我真的很习惯使用Ruby编写以下代码:my_hash={}my_hash['test']=1Java中对应的数据结构是什么? 最佳答案 HashMapmap=newHashMap();map.put("test",1);我假设? 关于java-等价于Java中的RubyHash,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/22737685/
我正在尝试使用boilerpipe来自JRuby。我看过guide从JRuby调用Java,并成功地将它与另一个Java包一起使用,但无法弄清楚为什么同样的东西不能用于boilerpipe。我正在尝试基本上从JRuby中执行与此Java等效的操作:URLurl=newURL("http://www.example.com/some-location/index.html");Stringtext=ArticleExtractor.INSTANCE.getText(url);在JRuby中试过这个:require'java'url=java.net.URL.new("http://www
我只想对我一直在思考的这个问题有其他意见,例如我有classuser_controller和classuserclassUserattr_accessor:name,:usernameendclassUserController//dosomethingaboutanythingaboutusersend问题是我的User类中是否应该有逻辑user=User.newuser.do_something(user1)oritshouldbeuser_controller=UserController.newuser_controller.do_something(user1,user2)我
什么是ruby的rack或python的Java的wsgi?还有一个路由库。 最佳答案 来自Python标准PEP333:Bycontrast,althoughJavahasjustasmanywebapplicationframeworksavailable,Java's"servlet"APImakesitpossibleforapplicationswrittenwithanyJavawebapplicationframeworktoruninanywebserverthatsupportstheservletAPI.ht
这篇文章是继上一篇文章“Observability:从零开始创建Java微服务并监控它(一)”的续篇。在上一篇文章中,我们讲述了如何创建一个Javaweb应用,并使用Filebeat来收集应用所生成的日志。在今天的文章中,我来详述如何收集应用的指标,使用APM来监控应用并监督web服务的在线情况。源码可以在地址 https://github.com/liu-xiao-guo/java_observability 进行下载。摄入指标指标被视为可以随时更改的时间点值。当前请求的数量可以改变任何毫秒。你可能有1000个请求的峰值,然后一切都回到一个请求。这也意味着这些指标可能不准确,你还想提取最小/
HashMap中为什么引入红黑树,而不是AVL树呢1.概述开始学习这个知识点之前我们需要知道,在JDK1.8以及之前,针对HashMap有什么不同。JDK1.7的时候,HashMap的底层实现是数组+链表JDK1.8的时候,HashMap的底层实现是数组+链表+红黑树我们要思考一个问题,为什么要从链表转为红黑树呢。首先先让我们了解下链表有什么不好???2.链表上述的截图其实就是链表的结构,我们来看下链表的增删改查的时间复杂度增:因为链表不是线性结构,所以每次添加的时候,只需要移动一个节点,所以可以理解为复杂度是N(1)删:算法时间复杂度跟增保持一致查:既然是非线性结构,所以查询某一个节点的时候
遍历文件夹我们通常是使用递归进行操作,这种方式比较简单,也比较容易理解。本文为大家介绍另一种不使用递归的方式,由于没有使用递归,只用到了循环和集合,所以效率更高一些!一、使用递归遍历文件夹整体思路1、使用File封装初始目录,2、打印这个目录3、获取这个目录下所有的子文件和子目录的数组。4、遍历这个数组,取出每个File对象4-1、如果File是否是一个文件,打印4-2、否则就是一个目录,递归调用代码实现publicclassSearchFile{publicstaticvoidmain(String[]args){//初始目录Filedir=newFile("d:/Dev");Datebeg
我基本上来自Java背景并且努力理解Ruby中的模运算。(5%3)(-5%3)(5%-3)(-5%-3)Java中的上述操作产生,2个-22个-2但在Ruby中,相同的表达式会产生21个-1-2.Ruby在逻辑上有多擅长这个?模块操作在Ruby中是如何实现的?如果将同一个操作定义为一个web服务,两个服务如何匹配逻辑。 最佳答案 在Java中,模运算的结果与被除数的符号相同。在Ruby中,它与除数的符号相同。remainder()在Ruby中与被除数的符号相同。您可能还想引用modulooperation.
Java的Collections.unmodifiableList和Collections.unmodifiableMap在Ruby标准API中是否有等价物? 最佳答案 使用freeze应用程序接口(interface):Preventsfurthermodificationstoobj.ARuntimeErrorwillberaisedifmodificationisattempted.Thereisnowaytounfreezeafrozenobject.SeealsoObject#frozen?.Thismethodretur
这是针对我无法破坏的现有公共(public)API,但我确实希望对其进行扩展。目前,该方法采用字符串或符号或任何其他在作为第一个参数传递给send时有意义的内容我想添加发送字符串、符号等列表的功能。我可以只使用is_a吗?数组,但还有其他发送列表的方法,这不是很像ruby。我将调用列表中的map,所以第一个倾向是使用respond_to?:map。但是字符串也会响应:map,所以这行不通。 最佳答案 如何将它们全部视为数组?String的行为与仅包含String的Array相同:deffoo(obj,arg)[*arg].eac