JAVA 通过向命令提示符输入数据赋值给变量
2010-03-27 13:17
375 查看
一开始接触JAVA觉得很郁闷的一件事是:java里面很多程序都没有显示如何输入数据,然后将该数据赋值给指定的变量,大部分的变量都是编译时候就赋好值。后来才知道java中为了更好地实现封装,于是向命令提示符输入数据是通过io实现的。现在自己要想向命令提示符输入数据一般采用如下两种方法:
方法一:(例子 TestScanner.java)
import java.util.*;
public class TestScanner {
public static void main(String[] args) {
Scanner readers = new Scanner(System.in);
System.out.print("Enter your name: ");
String name = readers.nextLine();
System.out.println("Hello! Mr " + name + " How old are you?");
System.out.print("Enter your age: ");
int age = readers.nextInt();
System.out.println("Name: " + name + " Age: " + age);
}
}
方法二:(例子 TestInput.java)
import java.io.*;
public class TestInput {
public static void main(String[] args) {
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
System.out.print("请输入你要输入的内容:");
String s = null;
try {
s = br.readLine();
br.close();
} catch(IOException e) {
e.printStackTrace();
}
System.out.println(s);
}
}
说明:
1、 Scanner 在写法上明显要比输入流简洁,因为他有直接的nextLine()和nextInt()等的方法,可以直接读取自己要读取的数据类型。而用输入流则还需要将接受到的String转换成自己想要的类型,如:要将上面接收到的s 转换成int类型,就必须加上int n = Integer.parseInt(s);。但是个人觉得用输入流比较正规,所以自己更倾向于第二种写法。
2、 需要注意的是: Scanner 类在java.util包,而输入流则在java.io包。
3、由上述两种方法的共同点可以看出:System.in默认的就是命令提示符对外进行交换数据的一种管道。所以第一步要做的就是得到该通信管道。
4、 第二种方法中之所以在isr外再包另一个BufferedReader管道是因为这个类的方法能够更好地接受输入的数据。
方法一:(例子 TestScanner.java)
import java.util.*;
public class TestScanner {
public static void main(String[] args) {
Scanner readers = new Scanner(System.in);
System.out.print("Enter your name: ");
String name = readers.nextLine();
System.out.println("Hello! Mr " + name + " How old are you?");
System.out.print("Enter your age: ");
int age = readers.nextInt();
System.out.println("Name: " + name + " Age: " + age);
}
}
方法二:(例子 TestInput.java)
import java.io.*;
public class TestInput {
public static void main(String[] args) {
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
System.out.print("请输入你要输入的内容:");
String s = null;
try {
s = br.readLine();
br.close();
} catch(IOException e) {
e.printStackTrace();
}
System.out.println(s);
}
}
说明:
1、 Scanner 在写法上明显要比输入流简洁,因为他有直接的nextLine()和nextInt()等的方法,可以直接读取自己要读取的数据类型。而用输入流则还需要将接受到的String转换成自己想要的类型,如:要将上面接收到的s 转换成int类型,就必须加上int n = Integer.parseInt(s);。但是个人觉得用输入流比较正规,所以自己更倾向于第二种写法。
2、 需要注意的是: Scanner 类在java.util包,而输入流则在java.io包。
3、由上述两种方法的共同点可以看出:System.in默认的就是命令提示符对外进行交换数据的一种管道。所以第一步要做的就是得到该通信管道。
4、 第二种方法中之所以在isr外再包另一个BufferedReader管道是因为这个类的方法能够更好地接受输入的数据。
相关文章推荐
- 【末世旅行之Java】jdk怎么在cmd控制台中实现输入数据功能(给变量赋值)
- java通过映射取得方法对一个类的变量进行赋值
- 如何通过键盘输入整型数给枚举变量赋值
- Java 输出输入、变量与数据类型、运算符
- Java 输入一个数放到变量n中,如果这个数大于0.计算1+2+3+。。。+(n-1)+n的结果, //否则输出 输入的撒数据有误
- 【Java】内部类访问的外部变量定义成final (数据保持一致,外部修改后无法通知内部,编译的时候会通过构造方法传进来) Java内部类一般访问不了外部变量
- Java中从控制台输入自定义的变量数据!
- C#新手入门代码 在控制台中通过输入给一个double类型变量赋值
- java web 通过前台输入的数据(name-value)保存到后台 xml文件中
- input()函数同时输入多个数据为多个变量赋值
- 九天学会Java,第一天,变量和数据类型,赋值和输出
- 九天学会Java,第一天,变量和数据类型,赋值和输出
- java基本数据类型变量的赋值详解
- 九天学会Java,第一天,变量和数据类型,赋值和输出
- Java之数据类型,变量赋值
- java通过共享变量结束run停止线程的方法示例
- java小例子:读取控制台用户输入数据
- 初学Java005 Java常用数据类型及变量
- java中的局部变量、成员变量以及数据类型
- 前期C语言回顾 进制、C数据类型、常量变量、运算符、表达式、格式化输入输出