1
创新互联主营建始网站建设的网络公司,主营网站建设方案,重庆APP开发,建始h5微信平台小程序开发搭建,建始网站营销推广欢迎建始等地区企业咨询
java的Scanner类提供了nextInt、nexFloat、nextDouble等方法,可以像类似C语言的scanf那样读取指定类型的数字。
首先定义一个Scanner对象:
Scanner sn = new Scanner(System.in);
java怎么输入数字
2
用sn.nextInt读取整型数,注意如果输入的不是整形数则该函数会抛出InputMismatchException异常,应予以捕获。
System.out.print("请输入一个整数:"); try{ intVal = sn.nextInt(); System.out.println("你输入了:" + intVal); }catch(InputMismatchException e) { System.out.println("必须输入整数!"); }
java怎么输入数字
3
用sn.nextFloat读取单精度浮点数,如果输入的不是数字则也会抛出InputMismatchException异常,应予以捕获。
System.out.print("请输入一个浮点数:"); try{ floatVal = sn.nextFloat(); System.out.println("你输入了:" + floatVal); }catch(InputMismatchException e) { System.out.println("必须输入数!"); }
java怎么输入数字
4
用sn.nextDouble读取双精度浮点数,操作与单精度类似。
System.out.print("请输入一个浮点数:"); try{ doubleVal = sn.nextDouble(); System.out.println("你输入了:" + doubleVal); }catch(InputMismatchException e) { System.out.println("必须输入数!"); }
java怎么输入数字
5
流使用完毕后应予以关闭:sn.close();完整代码如下图。
java怎么输入数字
java怎么输入数字
6
测试程序,首先正常输入,可以看到没输入一个数,控制台会进行回显。
java怎么输入数字
7
接下来试试异常情况,在要求输入整数时输入小数,则会提示“必须输入整数”,在输入浮点数时输入字母,则会提示“必须输入数”,虽然操作非法,程序依然可以执行,这是捕获了异常的缘故。
//第一种直接输出
System.out.println(3);
//第二种 先申明后赋值再输出
int a;
System.out.println(a=3);
//第三种 直接声明赋值后输出
int a1=3;
System.out.println(a1);
资料拓展:
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/*
* System.in 标准输入流。是从键盘获取数据的
*
* 键盘录入数据:
* A:main方法的args接收参数。
* java HelloWorld hello world java
* B:Scanner(JDK5以后的)
* Scanner sc = new Scanner(System.in);
* String s = sc.nextLine();
* int x = sc.nextInt()
* C:通过字符缓冲流包装标准输入流实现
* BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
*/
public class SystemInDemo {
public static void main(String[] args) throws IOException {
// //获取标准输入流
// InputStream is = System.in;
// //我要一次获取一行行不行呢?
// //行。
// //怎么实现呢?
// //要想实现,首先你得知道一次读取一行数据的方法是哪个呢?
// //readLine()
// //而这个方法在哪个类中呢?
// //BufferedReader
// //所以,你这次应该创建BufferedReader的对象,但是底层还是的使用标准输入流
// // BufferedReader br = new BufferedReader(is);
// //按照我们的推想,现在应该可以了,但是却报错了
// //原因是:字符缓冲流只能针对字符流操作,而你现在是字节流,所以不能是用?
// //那么,我还就想使用了,请大家给我一个解决方案?
// //把字节流转换为字符流,然后在通过字符缓冲流操作
// InputStreamReader isr = new InputStreamReader(is);
// BufferedReader br= new BufferedReader(isr);
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入一个字符串:");
String line = br.readLine();
System.out.println("你输入的字符串是:" + line);
System.out.println("请输入一个整数:");
// int i = Integer.parseInt(br.readLine());
line = br.readLine();
int i = Integer.parseInt(line);
System.out.println("你输入的整数是:" + i);
}
}
常用的输入语句是:
输入字符串:new Scanner(System.in).next();
输入整数:new Scanner(System.in).nextInt();
输入小数:new Scanner(System.in).nextDouble();
常用的输出语句:
换行输出: System.out.println(变量或字符串);
非换行输出: System.out.print(变量或字符串);
换行输出错误提示(默认是红字):System.err.println(变量或字符串);
不换行输出错误提示(默认是红字): System.err.print(变量或字符串));