扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
在Java中不像C语言中那么方便直接使用scanf(),下面是我积累的一些方法:
站在用户的角度思考问题,与客户深入沟通,找到临泉网站设计与临泉网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站设计、成都做网站、企业官网、英文网站、手机端网站、网站推广、域名申请、网站空间、企业邮箱。业务覆盖临泉地区。
1.控制台输入数据
1.1 主方法的形式参数
1.2 利用字节输入流
1.3 利用字符输入流
1.4 利用文本扫描类
2. 对话框输入数据
下面将针对这几种方法分别利用例子进行说明:
1. 控制台输入数据
1.1 主方法的形式参数
在Java中利用main(String args[])中的args数组来对参数进行赋值,有下例:
package InputTest;
public class DataKeyboardInput1 {
/**主方法的形式参数来输入数据
* DataKeyboardInput1.java
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(args[0]);
}
}
在命令行下输入javac DataKeyboardInput1.java --》Java DataKeyboardInput1 HelloWorld 输出就是 HelloWorld 了
1.2 利用字节输入流
字节输入流System.in 是类InputStream的常量对象,调用read()方法可以从键盘接收数据。实现的步骤是:先把数据读入字节数组中,然后利用字节数组定义字符串,最后把字符串转化为需要的数据类型。
package InputTest;
import java.io.*;
public class DataKeyboardInput2 {
/**利用字节输入流来输入数据
* DataKeyboardInput2.java
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
byte buf[]=new byte[10]; //字节数组,输入为10个
String str;
int num = 0;
try{
//把数据读入到字节数组中
System.in.read(buf);
//利用字节数组创建字符串
str=new String(buf,0);
//把字符串数据转换为整型数据
num=Integer.parseInt(str.trim());
}catch(Exception e){
System.out.print(e);
}System.out.println(num);
}
}
1.3 利用字符输入流
字符输入流BufferedReader是从字符输入流中读取文本,缓冲各个字符,从而提供字符,数组和行的高效读取。常用方法:
read(): 读取单个字符; readLine():读取一行字符,即为读取一个字符串
package InputTest;
import java.io.*;
public class DataKeyboardInput3 {
/**利用字符输入流来进行输入处理
* @param args
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String str="";
int num = 0;
try{
str=br.readLine();
num=Integer.parseInt(str);
}catch(IOException e){
System.out.println(e.toString());
}System.out.println(num);
}
}
1.4 利用文本扫描类
文本扫描类Scanner是jdk5.0新增加的类,它是一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器,它使用分隔符模式将其输入分解为标记默认情况下该分隔符模式与空白匹配,然后使用不同的next方法将得到的标记转换为不同类型值。获取基本类型数据的方法是:
整型:nextInt() 单精度:nextFloat() 双精度: nextDouble() 字符串: next()
package InputTest;
import java.util.Scanner;
public class DataKeyboardInput4 {
/**利用文本扫描类来进行输入处理
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input=new Scanner(System.in);
int num=input.nextInt();
System.out.println(num);
}
}
2. 对话框输入数据
使用JOptionPane创建输入对话框,实现键盘输入
showConfirmDialog(): 询问一个确认问题,如yes/no/cancer
showInputDialog(): 提示要求某些输入
showMessageDialog(): 告知用户某事已经发生
其中,输入对话框的常用参数形式有:
showInputDialog(Object message) : message 表提示信息
showInputDialog(Object message,Object initialSelectionValue): 如果没有输入数据,则默认初始值为initalSlectionValue
package InputTest;
import javax.swing.JOptionPane;
public class DataInputDialog {
/**对话框输入数据
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String str;
str=JOptionPane.showInputDialog("input data:");
int num=Integer.parseInt(str);
System.out.println(num);
}
}
step1:新建一个演示类demo
step2:导入 包文件,在包名下,类名之上输入如下代码。
import java.util.Scanner;
step3:在类中的代码如下:
public static void main(String[] args) { //创建一个键盘录入对象input Scanner input = new Scanner(System.in); System.out.println("please input “学生姓名”"); String studentName = input.next().intern(); System.out.println("please input “科目名称”"); String subject = input.next().intern(); System.out.println("please input“科目成绩”"); double result = input.nextDouble(); //调用Student类的方法 Student stu = new Student(); stu.setStudentName(studentName); stu.setSubject(subject); stu.setResult(result); Student.getInformation(stu);}
step4:新建一个Student类,设置类的各个成员变量,创建一个学生个人信息的方法。如下:
public class Student { private String studentName; private String subject; private double result; private String eveluate; //创建一个信息输出方法 public static void getInformation(Student studentInformation) { System.out.println("学生个人信息"); //获取学生姓名返回的成员变量值 System.out.println("姓名:" + studentInformation.getStudentName()); //获取科目成员变量的返回值 System.out.println("科目:" + studentInformation.getSubject()); //获取成绩成员变量的返回值 System.out.println("成绩:" + studentInformation.getResult()); //获取等级成员变量的返回值 System.out.println("等级:" + studentInformation.getEveluate()); } //使用getXxx()和setXxx()对各个私有成员变量进行限定 //对学生姓名进行输入和输出的设置 public String getStudentName() { return this.studentName; } public void setStudentName(String studentName) { this.studentName = studentName; } //对成绩等级变量设置 public String getEveluate() { return this.eveluate; } public void setEveluate(String eveluate) { this.eveluate = eveluate; } //对科目成员变量进行设置 public String getSubject() { return this.subject; } public void setSubject(String subject) { this.subject = subject; } public double getResult() { return this.result; } //对成绩进行等级划分 public void setResult(double result) { if (result = 95) { this.result = result; this.eveluate = "A+"; } else if (result 90 result = 85) { this.result = result; this.eveluate = "A"; } else if (result = 80 result 85) { this.result = result; this.eveluate = "B+"; } else if (result = 75 result 80) { this.result = result; this.eveluate = "B"; } else if (result = 70 result 75) { this.result = result; this.eveluate = "C+"; } else if (result = 60 result 70) { this.result = result; this.eveluate = "C"; } else if (result = 50 result 60) { this.result = result; this.eveluate = "D"; } else { this.result = result; this.eveluate = "E"; } }}
运行结果1:
please input “学生姓名”
李小明
please input “科目名称”
数学
please input“科目成绩”
98
学生个人信息
姓名:李小明
科目:数学
成绩:98.0
等级:A+
运行结果2:
please input “学生姓名”
王强
please input “科目名称”
英语
please input“科目成绩”
52
学生个人信息
姓名:王强
科目:英语
成绩:52.0
等级:D
可以使用java的Scanner类,常见的是用nextInt()输入一个整数,用next()输入一个字符串,下面是一个小的演示程序。
public class InputTest
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
System.out.println(input.nextInt());
System.out.println(input.next());
input.close();
}
}
第一种:
public class ShuRu{
public static void main(String arg[]){
System.out.println(arg[1]);
}
}
第二种:
import java.util.Scanner;
public class ShuRu{
public static void main(String arg[]){
Scanner in=new Scanner(System.in);
String str=in.next();
System.out.println(str);
}
}
直接输入 a,b
输出为 a,bstem.in.read();
扩展资料:
有输入就有输出,输出语句为
Java中的输出语句有以下四种:
1、System.out.println(1111);//换行打印
2、System.out.print(1111);//不换行打印
3、System.out.write(2222);//字节输出
4、System.out.printf("%+8.3f\n", 3.14);//按格式输出
注:
System.out.println(); 是最常用的输出语句,它会把括号里的内容转换成字符串输出到输出窗口(控制台),并且换行,当输出的是一个基本数据类型时,会自动转换成字符串,如果输出的是一个对象,会自动调用对象的toString();方法,将返回值输出到控制台
System.out.print(); 与第一个很相似,区别就是上一个输出后会换行,而这个命令输出后并不换行。
System.out.printf(); 这个方法延续了C语言的输出方式,通过格式化文本和参数列表输出。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流