A. java 中怎样输入参数
你说的是命令行参数
public static void main(String[] args);
通过命令行来向java应用程序传递参数。
main方法接收一个一个字符串数组参数;从控制台传进来的参数都被当作String类型的来处理,如果需要向应用传递多个参数,则用空格隔开,如果参数本身用双引号引起来
执行时的格式: java 类名 参数1 参数2……
例子:
public class Abc{
public static void main(String[] args){
if(args.length!=2){
System.out.println("请按下列方式执行:"+"java Abc 参数1 参数2");
System.exit(0);
}
String a = args[0];
String b = args[1];
System.out.println("第一个参数是:"+a);
System.out.println("第二个参数是:"+b);
}
}
编译:javac Abc.java
执行:java Abc 参数1 参数2
注意:通过main()方法从控制台接收的参数都是String类型的,如果需要其他
类型参数,需要将接收的String类型参数,显式的转换
B. java如何从命令行输入和输出数据
import java.util.*;
import java.io.*;
import javax.swing.JOptionPane;
public class SysIn
{
public static void main(String [] args)
{
【java.util包中的Scanner类】
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一串字符:");
String firStr = sc.next();
System.out.println("你输入的是" +firStr);
注意事项:next()读取一个字符串,该字符串在一个空白符之前结束
(2)java输入命令行参数扩展阅读
其他java从命令行输入和输出数据
1、【java.io包中的BufferedReader类】
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入第二串字符:");
String secStr=null;
try
{
secStr=bf.readLine();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("你输入的是" + secStr);
注意事项:nextByte()读取一个byte类型整数--其他类型整数类推
2、【调用 javax.swing.JOptionPane 类】
String jop = JOptionPane.showInputDialog
(null,"Please Input:","InputDialog",JOptionPane,QUESTION_MESSAGE);
System.out.println("你输入的第三串字符:“ + jop);
}
}
注意事项:nextLine()读取一行文本
C. Java命令行参数输入问题
String s = args[1];
char c =Character.valueOf(args[2]).charValue();
字符串转换成int float double boolean long char 基本也一样
double d = Double.parseDouble(args[3]);
字串转成 Integer,Double, Float, Long 的方法大同小异.
以下为贴的别人的总结:
数据类型基本类型有以下四种:
int长度数据类型有:byte(8bits)、short(16bits)、int(32bits)、long(64bits)、
float长度数据类型有:单精度(32bits float)、双精度(64bits double)
boolean类型变量的取值有:ture、false
char数据类型有:unicode字符,16位
对应的类类型:Integer、Float、Boolean、Character、Double、Short、Byte、Long转换原则从低精度向高精度转换
byte 、short、int、long、float、double、char
注:两个char型运算时,自动转换为int型;当char与别的类型运算时,也会先自动转换为int型的,再做其它类型的自动转换基本类型向类类型转换正向转换:通过类包装器来new出一个新的类类型的变量
Integer a= new Integer(2);
反向转换:通过类包装器来转换
int b=a.intValue();类类型向字符串转换正向转换:因为每个类都是object类的子类,而所有的object类都有一个toString()函数,所以通过toString()函数来转换即可
反向转换:通过类包装器new出一个新的类类型的变量
eg1: int i=Integer.valueOf(“123”).intValue()
说明:上例是将一个字符串转化成一个Integer对象,然后再调用这个对象的intValue()方法返回其对应的int数值。
eg2: float f=Float.valueOf(“123”).floatValue()
说明:上例是将一个字符串转化成一个Float对象,然后再调用这个对象的floatValue()方法返回其对应的float数值。
eg3: boolean b=Boolean.valueOf(“123”).booleanValue()
说明:上例是将一个字符串转化成一个Boolean对象,然后再调用这个对象的booleanValue()方法返回其对应的boolean数值。
eg4:double d=Double.valueOf(“123”).doubleValue()
说明:上例是将一个字符串转化成一个Double对象,然后再调用这个对象的doubleValue()方法返回其对应的double数值。
eg5: long l=Long.valueOf(“123”).longValue()
说明:上例是将一个字符串转化成一个Long对象,然后再调用这个对象的longValue()方法返回其对应的long数值。
eg6: char=Character.valueOf(“123”).charValue()
说明:上例是将一个字符串转化成一个Character对象,然后再调用这个对象的charValue()方法返回其对应的char数值。基本类型向字符串的转换
正向转换:
如:int a=12;
String b;b=a+””;反向转换:
通过类包装器
eg1:int i=Integer.parseInt(“123”)
说明:此方法只能适用于字符串转化成整型变量
eg2: float f=Float.valueOf(“123”).floatValue()
说明:上例是将一个字符串转化成一个Float对象,然后再调用这个对象的floatValue()方法返回其对应的float数值。
eg3: boolean b=Boolean.valueOf(“123”).booleanValue()
说明:上例是将一个字符串转化成一个Boolean对象,然后再调用这个对象的booleanValue()方法返回其对应的boolean数值。
eg4:double d=Double.valueOf(“123”).doubleValue()
说明:上例是将一个字符串转化成一个Double对象,然后再调用这个对象的doubleValue()方法返回其对应的double数值。
eg5: long l=Long.valueOf(“123”).longValue()
说明:上例是将一个字符串转化成一个Long对象,然后再调用这个对象的longValue()方法返回其对应的long数值。
eg6: char=Character.valueOf(“123”).charValue()说明:上例是将一个字符串转化成一个Character对象,然后再调用这个对象的charValue()方法返回其对应的char数值。
D. Java命令行输入是什么意思
public class Translate{
public static void main(String[] args) throws Exception{
int i = 0;
String s = "";
while((i=System.in.read())!='\n'){
s+=(char)i;
}
numberToEnglish(s);
}
private static void numberToEnglish(String src){
//这里就是你已实现的方法
}
}
以上就是命令行输入的正解, (既然是命令行输入,就要用到System.in这个对象)
在命令提示符下运行( java Translate ),程序会等待你输入一些信息,输入完成后按回车结束.
E. java命令行参数是什么意思
这个名词我们可以分开来看:
“命令行"就是:DOC命令行"了,也就是那个黑色的框框。
"参数就"是程序里面所需要的"参数"了。
合起来"命令行参数”就是“在DOC下输入的程序所需的参数”。
F. java 中 用命令行参数接收输入 如何判断接收的数据是什么数据类型
一、在命令行或控制台中接收的数据,都是字符串型,需要强制转换。
强制转换时,需做空判断,如 if(str != null && !str.trim().equals("")){
int i = Integer.parseInt(str);}
二、其他情况判断数据类型时,可以用java的反射机制。举个例子:
import java.util.HashMap;
import java.util.Map;
public class Test {
public static void main(String aaa[]) {
Map m = new HashMap();
String s1 = "String1";
String s2 = "String2";
int i1 = 5;
double i2 = 10.5;
m.put(1, s1);
m.put(2, i1);
m.put(3, i2);
m.put(4, s2);
for (int i = 1; i <= m.size(); i++) {
Class returnType = m.get(i).getClass();
System.out.println("return type is of type: "
+ returnType.getSimpleName());
}
}
}
G. 如何用命令行运行java程序及输入main函数参数的输入
main函数也可以带参数。带参数main函数的定义格式如下:
void main(int argc, char *argv[])
{
... ...
}
argc和argv是main函数的形式参数。这两个形式参数的类型是系统规定的。如果main函数要带参数,就是这两个类型的参数;否则main函数就没有参数。变量名称argc和argv是常规的名称,当然也可以换成其他名称。
那么,实际参数是如何传递给main函数的argc和argv的呢?我们知道,C程序在编译和链接后,都生成一个exe文件,执行该exe文件时,可以直接执行;也可以在命令行下带参数执行,命令行执行的形式为:
可执行文件名称 参数1 参数2 ... ... 参数n
执行文件名称和参数、参数之间均使用空格隔开。例如,在linux下运行程序./a.out 1 2 ,可执行文件名称为./a.out,参数1为字符串1,参数2为2。
如果按照这种方法执行,命令行字符串将作为实际参数传递给main函数。具体为:
(1) 可执行文件名称和所有参数的个数之和传递给argc;所以上面的argc=3
(2) 可执行文件名称(包括路径名称)作为一个字符串,首地址被赋给argv[0],参数1也作为一个字符串,首地址被赋给argv[1],... ...依次类推。