导航:首页 > 程序命令 > java命令行参数的输入

java命令行参数的输入

发布时间:2022-08-01 13:14:30

java main方法中的命令行参数

当你使用命令行的形式运行.class文件时,向你的类传递参数.
C:\>java
YourClassName
参数1
[参数2
参数3
....]
参数之间用一个空格作为间隔符.
String[] args 这个字符串数组是保存运行main函数时输入的参数的,例如main函数所在的类名为test
那么你在cmd运行
java
test
a b
c 时,args[0]
= a
,args[1]=b,
args[2]=c
你就可以在你的程序中调用你输入的这些变量了。
args[]不就是那个字符串This is a simple Java program吗?
-------完全不是的,你理解不对。这样好了,你在运行的时候加个参数,比如 java test XX。然后在你的main函数里面加这段话:System.out.println("arg is"+args[0]),然后看看输出是什么?
是不是这个:
This is a simple Java program
arg is XX
在运行时输入java test xx yy zz,并且在你的main函数里面加这段话:System.out.println("arg is"+args[0]+" "+args[1]+" "+args[2]),然后看看输出是什么?
是不是:
This is a simple Java program
arg is xx yy zz
现在你理解了吗。。。
如果没关系,为什么程序中去掉String args[]会出现错误?
--------之所以去掉会出错在于,不带String args[]的main函数和带String args[]的main函数,本质上已经不是同一个函数了,java 本身不存在不带String args[]的main函数,所以当然出错了。

② java 命令行 传递参数

不要在Java中处理“<”(重定向)符号,那是留给操作系统来处理的。
要想将将输入从定向文件传递给Java程序,可采用如下办法。
(1)首先制作批文件(Windows下为.bat文件,linux/UNIX下为.sh文件)。给你作个例子(以Windows为例,制作一个名称为start.bat的文件):
@set/p A= >nul
@set/p B= >nul
@set/p C= >nul
@set/p D= >nul
@java 您的java启动类名 %A% %B% %C% %D%
@set/p A= <nul
@set/p B= <nul
@set/p C= <nul
@set/p D= <nul
这里只有四个参数,您可以添加更多的参数。
之后编写输入重定向文件(in.txt),内容范例如下:
para1Value
para2Value
para3Value
...
在执行的时候,使用格式如下:
start.bat < in.txt
这时,您的Java启动类.main才能接收到从定向文件里的参数。
建议在批文件中可以多设一些参数,即使输入重定向文件内提供的参数值数量不足也没有关系,操作系统不会传递没无值参数。

③ java中怎样输入命令+参数

attrib是修改属性的
首先用cd /d + 路径 切换到你 example 类在的目录
然后运行 java example + 参数
参数会保留在 args[] 中,然后自己处理就是了

④ 如何用命令行运行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],... ...依次类推。

⑤ java中从控制台让用户输入参数的语句是什么

java中从控制台让用户输入参数的语句的方式如下:
1、使用标准输入串System.in
//System.in.read()一次只读入一个字节数据,而我们通常要取得一个字符串或一组数字
//System.in.read()返回一个整数
//必须初始化
//int read = 0;
char read = '0';
System.out.println("输入数据:");
try {
//read = System.in.read();
read = (char) System.in.read();
}catch(Exception e){
e.printStackTrace();
}
System.out.println("输入数据:"+read);
2、使用Scanner取得一个字符串或一组数字
System.out.print("输入");
Scanner scan = new Scanner(System.in);
String read = scan.nextLine();
System.out.println("输入数据:"+read);
/*在新增一个Scanner对象时需要一个System.in对象,因为实际上还是System.in在取得用户输入。Scanner的next()方法用以取得用户输入的字符串;nextInt()将取得的输入字符串转换为整数类型;同样,nextFloat()转换成浮点型;nextBoolean()转换成布尔型。*/

⑥ 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()读取一个字符串,该字符串在一个空白符之前结束

(6)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()读取一行文本

⑦ java在命令行中实现输入

import java.io.*;
public class test{
public static void main(String args[]){
byte buffer=new byte[512];
System.in.read(buffer);
String str=new String(buffer);
System.out.println("请你输入:");
System.out.println("what you are input is"+str);
}
}

⑧ java 命令行传入参数问题

import java.util.Scanner;

public class MainParameters {
public static void main(String[] args) {
System.out.println("请输入一串字符串:");
Scanner s=new Scanner(System.in);
String str=s.next();
System.out.println("===============================\n将输入的字符串五个一行的输出为:");
for(int i=1;i<=str.length();i++){
System.out.print(str.substring(i-1,i));
if(i%5==0){
System.out.println();
}
}
}
}
我不太明白你的意思。你写的程序有问题哈!
我重新写了一个。你自己看看!
不会的qq问我哈!330380204

⑨ 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类型参数,显式的转换

⑩ 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数值。

阅读全文

与java命令行参数的输入相关的资料

热点内容
python数据结构和内存 浏览:19
python软件功能简介 浏览:784
外国程序员一般多少岁退休 浏览:917
怎么看linux和时间服务器 浏览:680
程序员搞笑花名 浏览:501
dota2怎么设置国服服务器地址 浏览:212
单片机高电平驱动 浏览:115
ios多选文件夹 浏览:909
加强行车调度命令管理 浏览:243
服务器已禁用什么意思 浏览:150
部队命令回复 浏览:755
神奇宝贝服务器地图怎么设置 浏览:382
加密算法输出固定长度 浏览:862
程序员去重庆还是武汉 浏览:121
服务器如何撤销网页登录限制 浏览:980
微信公众平台php开发视频教程 浏览:628
怎么看苹果授权绑定的app 浏览:255
压缩机单级压缩比 浏览:380
linux测试php 浏览:971
什么时候梁旁边需要加密箍筋 浏览:40