java控制台输入

合集下载

java输入数据的方法

java输入数据的方法

java输入数据的方法Java是一种面向对象的编程语言,提供了丰富的输入数据的方法,本文将介绍几种常用的输入数据的方法。

一、使用Scanner类Scanner类是Java标准库提供的一个用于读取用户输入的类。

通过Scanner类,我们可以方便地从控制台或文件中读取不同类型的数据。

1. 从控制台读取数据要从控制台读取数据,可以使用以下代码:```javaimport java.util.Scanner;public class InputExample {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入一个整数:");int num = scanner.nextInt();System.out.println("您输入的整数是:" + num);System.out.print("请输入一个字符串:");String str = scanner.nextLine();System.out.println("您输入的字符串是:" + str);scanner.close();}}```上述代码中,我们首先创建了一个Scanner对象,并传入System.in作为参数,表示从标准输入流中读取数据。

然后通过nextInt()方法读取一个整数,通过nextLine()方法读取一行字符串。

最后,记得调用scanner的close()方法关闭输入流。

2. 从文件读取数据要从文件中读取数据,可以使用以下代码:```javaimport java.io.File;import java.io.FileNotFoundException;import java.util.Scanner;public class FileInputExample {public static void main(String[] args) {try {File file = new File("input.txt");Scanner scanner = new Scanner(file);while (scanner.hasNextLine()) {String line = scanner.nextLine();System.out.println(line);}scanner.close();} catch (FileNotFoundException e) {System.out.println("文件不存在");}}}```上述代码中,我们首先创建了一个File对象,指定要读取的文件路径。

java创建输入对话框的方法

java创建输入对话框的方法

java创建输入对话框的方法Java是一种通用编程语言,可以用于开发各种应用程序。

其中,用户输入对话框是很常见的一种应用。

Java为开发人员提供了多种方法来创建输入对话框。

本文将介绍其中两种方法:使用JOptionPane和使用JDialog。

一、使用JOptionPane创建输入对话框JOptionPane是Java Swing库中的一个类,提供了很多用于显示对话框的静态方法。

其中,showInputDialog()方法可用于显示一个输入对话框。

该方法的基本语法如下:```public static String showInputDialog(Component parentComponent, Object message, String title, int messageType);```其中,参数parentComponent表示该对话框的父组件;参数message 表示对话框显示的消息;参数title表示对话框的标题;参数messageType表示对话框的类型。

该方法返回用户输入的字符串。

接下来,我们来看一个简单的例子,该例子将提示用户输入姓名,并在控制台输出用户输入的姓名:```import javax.swing.JOptionPane;public class InputDialogExample {public static void main(String[] args) {String name = JOptionPane.showInputDialog(null, "请输入您的姓名:", "用户姓名", JOptionPane.PLAIN_MESSAGE);System.out.println("您输入的姓名是:" + name);}}```该程序运行时,将显示一个输入对话框,等待用户输入姓名。

用户输入后,程序将在控制台输出用户输入的姓名。

java中的输入输出语句

java中的输入输出语句

在Java中,你可以使用System.out来进行标准输出,使用System.in来进行标准输入。

以下是一些基本的输入输出语句示例:1. 标准输出(System.out):public class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");}}上述示例中,System.out.println用于将文本输出到控制台。

2. 标准输入(System.in):import java.util.Scanner;public class UserInput {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("Enter your name: ");String name = scanner.nextLine();System.out.print("Enter your age: ");int age = scanner.nextInt();System.out.println("Hello, " + name + "! You are " + age + " years old.");}}上述示例中,Scanner类用于从控制台读取用户的输入。

scanner.nextLine()用于读取一行文本,而scanner.nextInt()用于读取整数。

3. 格式化输出(System.out.printf):public class FormatOutput {public static void main(String[] args) {String name = "John";int age = 25;System.out.printf("Hello, %s! You are %d years old.%n", name, age);}}上述示例中,System.out.printf允许你使用格式字符串输出,并在其中插入变量的值。

浅谈JAVA程序设计的数据输入方法

浅谈JAVA程序设计的数据输入方法
s fwa e o t r ,J AVA a x eln e s tl y h g fiin y p ra i t n e u iyp af r t a d l s d h se c l tv r ai t 、 i hefce c 、 o t bl ya ds c rt lto m h twiey u e e i i
说 明 : cn e 取得 输 入 的 依 据是 空格 符 , 以 Sa nr 所
在键 盘上 按下 空 格 、 b或 回车 键 时 , cn e Ta S a n r就会 返 回下一 个输 入 。
字符 串 类 型 , 果 需 要 其 他 类 型 的 数 据 ( 数 值 如 如
型 ) 需要 做相 应 的类 型转换 。 ,

53 ・
重 庆航 天 职 业 技 术 学 院 学报
3 2 可 以 使 用 n xl t ) n xFo t ) . e tn ( 、 e t la ( 、
n xB oen ) 方 法 取 得 数 据 , 转 e t o la ( 等 并
换 为 需 要 的数 据 类型
例如 :
s m e tm e ha he wo l S l r s e e o r Pr f s i a omm u t . I he c o o a i s t r d’ a ge t d v l pe o e son lc niy n t l ud c mpu i nd mob l tng a ie
S se o t pit ( 请输 入你 的姓 名 : ) y tm. u. r l “ nn ”;
Sy t m . t rntn( c e se ou .p i l s or );
运行 程序 时在 字节 码 文 件 名 的 后 面跟 上 参 数 , 数据 的分 隔符 是 空 格 。要 注 意 , 入 的 数 据 默认 为 输

java输入长和宽输出面积_JAVA根据用户输入的长和宽,编程求长方形的面积和周长....

java输入长和宽输出面积_JAVA根据用户输入的长和宽,编程求长方形的面积和周长....

java输⼊长和宽输出⾯积_JAVA根据⽤户输⼊的长和宽,编程求长⽅形的⾯积和周长....题⽬:JAVA根据⽤户输⼊的长和宽,编程求长⽅形的⾯积和周长.根据⽤户输⼊的长和宽,编程求长⽅形的⾯积和周长.分析:1) 新建控制台项⽬,名为Ex2_1,修改类的名字为Rectangle.2) 在Main⽅法中定义4个double类型的临时变量length,width,area,perimeter分别表⽰长⽅形的长,宽,⾯积和周长.3) 通过控制台分别给长⽅形的长(length)和宽(width)赋值.4) 计算长⽅形的⾯积(area)和周长(perimeter).5) 通过控制台输出长⽅形的长,宽,⾯积和周长.解答:package Ex2_1;import java.util.Scanner;class Rectangle {public static void main(String args[]){double length, width, area, perimeter; //定义4个double类型的临时变量System.out.println("请输⼊长:");Scanner input=new Scanner(System.in); //⽤于从控制台获取数据length=input.nextDouble(); // //⽤于从控制台获取数据System.out.println("请输⼊宽:");width=input.nextDouble(); // ⽤于从控制台获取数据area=length*width; //计算⾯积perimeter=(length+width)*2; //计算周长System.out.println("此长⽅形的长为"+length+","+"宽为"+width+","+"⾯积是:"+area+","+"周长是:"+ perimeter); //控制台输出结果}}希望对你有帮助!加油!。

[java入门学习]第 9 章 Java输入输出操作

[java入门学习]第 9 章 Java输入输出操作

第九章 Java输入输出操作9.1 Java 输入输出流所有的程序语言都提及与本机文件系统交互的方式;Java也不例外。

我们将看看Java 是怎样处理标准文件输入输出的(包括stdin,stout,stderr)。

当你在网络上开发小程序时,你必须注意直接文件输入输出是不安全因素的关键。

大多数用户设置他们的浏览器,可让你自由的访问他们的文件系统,但有的不让你访问。

当然,如果你开发你内部的应用程序,你也许需要直接访问文件。

标准输入输出Unix的用户,或其他基于命令行系统的用户(如DOS),都知道标准输入输出的含义。

标准输入文件是键盘,标准输出文件是你的终端屏幕。

标准错误输出文件也指向屏幕,如果有必要,它也可以指向另一个文件以便和正常输出区分。

系统类Java通过系统类达到访问标准输入输出的功能。

上面提到的三个文件在这个系统类中实现:Stdin System.in作为InputStream类的一个实例来实现stdin,你可以使用read()和skip(long n)两个成员函数。

read()让你从输入中读一个字节,skip(long n)让你在输入中跳过n个字节。

Stout System.out作为PrintStream来实现stdout,你可以使用print()和println()两个成员函数。

这两个函数支持Java的任意基本类型作为参数。

Stderr System.err同stdout一样实现stderr。

象System.out一样,你可以访问PrintStream 成员函数。

9.2 标准输入输出例子import java.io.* class myCat{public void main(String args[]) throws IOException{int b;int count = 0;while ((b = System.in.read()) != -1){count++;System.out.print((char)b);}System.out.println(); //blank line System.err.println("counted"+count+"total bytes.");}}9.3 普通输入输出类除了基本的键盘输入和屏幕输出外,我们还需要联系文件的输入输出。

学会使用Java编写控制台应用程序

学会使用Java编写控制台应用程序

学会使用Java编写控制台应用程序第一章:介绍控制台应用程序是一种在命令行界面下运行的程序,用户通过键入指令来与程序交互。

本章将介绍控制台应用程序的基本概念和特点。

控制台应用程序是Java编程语言的一种应用方式,它可以在不依赖于图形用户界面的情况下完成各种任务。

相比于图形界面程序,控制台应用程序更加灵活和高效。

第二章:环境搭建在学会编写Java控制台应用程序前,需要先搭建开发环境。

首先,需要安装Java Development Kit(JDK),并配置环境变量。

其次,选择一款好用的集成开发环境(IDE),如Eclipse或IntelliJ IDEA。

建议初学者使用Eclipse,因为它简单易用,同时也提供了丰富的功能和调试工具。

第三章:基本语法掌握Java的基本语法是编写控制台应用程序的关键。

在这一章节中,将介绍Java的数据类型、变量、运算符、条件判断和循环等基础知识。

这些基本概念是理解和编写控制台应用程序的基础。

第四章:输入和输出控制台应用程序需要与用户进行交互,因此输入和输出是必不可少的功能。

Java提供了一系列类和方法来实现输入和输出操作。

本章节将介绍如何使用Java的输入输出流(IOStream)来实现控制台输入和输出。

第五章:文件操作控制台应用程序常常需要读取和写入文件,以完成一些复杂的任务。

Java提供了File类来处理文件和目录。

本章节将介绍如何使用File类来进行文件的读写、创建、删除等操作。

第六章:异常处理在编写控制台应用程序时,难免会遇到一些错误和异常。

Java提供了异常处理机制来处理这些异常情况。

本章节将介绍如何使用try-catch语句来捕获和处理异常,以保证程序的稳定性和可靠性。

第七章:面向对象面向对象编程是Java编程的核心思想。

在控制台应用程序中,也可以充分应用面向对象的思想,使程序结构更加清晰和易于维护。

本章节将介绍面向对象编程的基本概念,如类、对象、继承、多态等。

java学习笔记(5)控制语句、键盘输入

java学习笔记(5)控制语句、键盘输入

java学习笔记(5)控制语句、键盘输⼊控制语句:java控制可以分为7种:*控制选择结构语句: *if if else *switch*控制循环结构语句: *for *while *do while*改变控制语句顺序: *break *continueif控制语句:/*关于java语⾔当中的if语句,属于选择结构,if语句⼜被称为分⽀语句/条件控制语句;1、if语句的运发结构:包含4中编写⽅式第⼀种:if(布尔表达式){java语句;...};第⼆种:if(布尔表达式){java语句;...}else{java语句;...}第三种:if(布尔表达式){java语句;...}else if(布尔表达式){java语句;...}...第四种:if(布尔表达式){java语句;...}else if(布尔表达式){java语句;...}else{java语句;...}重点:只要有⼀个if分⽀执⾏,整个if语句结束;注意:所有控制语句都是可以互相嵌套的。

注意:嵌套使⽤的时候,代码格式要保证完美。

注意:if语句中,只有⼀条java语句的话,⼤括号可以省略;if(true/false){java语句;}if(true/false) java语句;//但是不推荐使⽤,这种代码风格不好。

不容易看清。

*/public class ifTest01{public static void main(String[] args){// 需求,所在位置的5公⾥范围内有肯德基的话,去KFC吃午饭。

// 公⾥数double distance = 6.0;//单位KM// 判断语句if(distance<=5){System.out.println("⾛着去KFC吃午饭");}else if(distance<=7.0&&distance>5){System.out.println("跑着去KFC吃午饭");}else{System.out.println("在附近吃别的");}}}接收⽤户键盘输⼊:/*System.out.println() 负责向控制台输出,【从内存到控制台,输出的过程,这是从内存中出来了】接收⽤户键盘输⼊,从"键盘"到"内存"。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

java控制台输入
(2009-12-08 11:13:28)
转载
分类:IT
标签:
杂谈
0引言
从控制台中读取数据是一个比较常用的功能,在JDK 5.0 以前的版本中的实现是比较复杂的,需要手工处理系统的输入流。

有意思的是,从JDK 5.0 版本开始,能从控制台中输入数据的方法每增加一个版本号,就有一种新增的方法,这也增加了选择的种类,可以依据不同的要求来进行选择。

下面来看一下,各个版本中如何从控制台中读取数据以及各自的优缺点。

1JDK 1.4 及以下版本读取的方法
JDK 1.4 及以下的版本中要想从控制台中输入数据只有一种办法,即使用System.in获得系统的输入流,再桥接至字符流从字符流中读入数据。

示例代码如下:
import java.io.IOException;
import java.io.InputStreamReader;
public class Test1 {
public static void main(String[] args) {
String str = readString("请输入字符串:");
System.out.println("readString 方法的输入:" + str);
}
private static String readString(String prompt) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = null;
try {
System.out.print(prompt);
str = br.readLine();
} catch (IOException e) {
e.printStackTrace();
}
return str;
}
}
从上面的代码段来看,这种控制台输入的方法非常地麻烦,为了能读取整行的数据,采用了BufferedReader类来进行处理,而且在读取的过程中还需要捕获IOException。

不过这是JDK 1.4 及以下版本中从控制台读取数据唯一的办法。

还有一种非控制台读入数据的办法,就是采用Swing 中的JOptionPane,会弹出一个非常漂亮的输入对话框让使用者输入数据,但这是一种比较另类的做法,不推荐使用。

import javax.swing.JOptionPane;
public class Test2 {
public static void main(String[] args) {
String str = readStringFromDialog("请输入字符串:");
System.out.println("readStringFromDialog 方法的输入:" + str);
}
private static String readStringFromDialog(String prompt) {
return JOptionPane.showInputDialog(prompt);
}
}
上面的两种方法都有个共同的缺点——只能读取字符串,若需要读取其他类型的数据需要手工进行转换。

2JDK 5.0 读取的方法
从JDK 5.0 开始,基本类库中增加了java.util.Scanner类,根据它的API 文档说明,这个类是采用正则表达式进行基本类型和字符串分析的文本扫描器。

使用它的
Scanner(InputStream source)构造方法,可以传入系统的输入流System.in而从控制台中读取数据。

示例代码如下:
import java.util.Scanner;
public class Test3 {
public static void main(String[] args) {
String str = readString5("请输入字符串:");
System.out.println("readString5 方法的输入:" + str);
}
private static String readString5(String prompt) {
Scanner scanner = new Scanner(System.in);
System.out.print(prompt);
return scanner.nextLine();
}
}
从代码量上来看,Test3比Test1少了很多的代码,核心代码只有两行。

其实并不是Scanner 将控制台输入给简单化了,只是在其内部的实现中已经将IOException处理了,而且采用InputStreamReader来一个字符一个字符进行扫描读取的(嘿嘿,它本身就是个扫描器),只是Scanner做了更高层次的封装。

Scanner不仅可以从控制台中读取字符串,还可以读取除char之外的其他七种基本类型和两个大数字类型,并不需要显式地进行手工转换。

Scanner不单单只能扫描控制台中输入的字符,它还可以让读入的字符串匹配一定的正则表达式模式,如果不匹配时将抛出InputMismatchException异常。

使用System.in作为它的构造参数时,它只扫描了系统输入流中的字符。

它还有其他的构造,分别可以从文件或者是字符串中扫描分析字符串的,具体的使用方法可以参考API 文档说明。

3JDK 6.0 读取的方法
从JDK 6.0 开始,基本类库中增加了java.io.Console类,用于获得与当前Java 虚拟机关联的基于字符的控制台设备。

在纯字符的控制台界面下,可以更加方便地读取数据。

示例代码如下:
import java.io.Console;
import java.util.Scanner;
public class Test4 {
public static void main(String[] args) {
String str = readString6("请输入字符串:");
System.out.println("readString6 方法的输入:" + str);
}
private static String readString6(String prompt) {
Console console = System.console();
if (console == null) {
throw new IllegalStateException("不能使用控制台");
}
return console.readLine(prompt);
}
}
在Test1和Test3中,输入数据前的提示信息需要使用System.out.print();来输出,但是使用基于Console的Test4类,可以在方法参数中直接放入提示信息。

如果需要在控制台中输入密码等敏感信息的话,像在浏览器或者是应用程序中那样显示替代字符,在JDK 6.0 以前的做法是相当麻烦的(具体的做法可以参考《Java 编程语言中的口令屏蔽》一文),而使用Console类的readPassword()方法可以在控制台上不回显地输入密码,并将密码结果保存在char数组中,根据API 文档的建议,在使用后应立即将数组清空,以减少其在内存中占用的时间,以便增强安全性。

但是,Console也有一些缺点,根据ConsoleAPI 文档的说明:
虚拟机是否具有控制台取决于底层平台,还取决于调用虚拟机的方式。

如果虚拟机从一个交互式命令行开始启动,且没有重定向标准输入和输出流,那么其控制台将存在,并且通常连接到键盘并从虚拟机启动的地方显示。

如果虚拟机是自动启动的(例如,由后台作业调度程序启动),那么它通常没有控制台。

通过上面的文档说明可以看出,在使用IDE 的情况下,是无法获取到Console实例的,原因在于在IDE 的环境下,重新定向了标准输入和输出流,也是就是将系统控制台上的输入输出重定向到了IDE 的控制台中。

因此,在IDE 中不能使用这个程序,而Test1和Test3就没有这种限制。

4总结
以上囊括了Java 中各种版本从控制台中读入数据的方法,将对它们的优缺点进行了分析。

下面给出了一些使用建议,可供参考:
JRE 1.4 或以下版本的情况下,没得选择只能采用Test1或者是非控制台读入的Test2的方法。

JRE 5.0 的情况下,建议使用基于Scanner的Test3的方法,更方便地进行数据读取。

JRE 6.0 的情况,并且只在字符界面的控制台下运行时,采用Test4的方法,如果需要读入像密码之类的敏感数据,为了安全性考虑也必须使用Test4或者是自行实现。

如果需要读入除字符串类型之外的其他数据类型,建议使用基于Scanner的控制台输入。

相关文档
最新文档