关于java命令行参数的问题
请编写程序Tail,其用法为:JavaTailfilename[n]。其中n为可选参数,若未指定,则默认显示文件filename的最后10行,否则显示文件filename...
请编写程序Tail,
其用法为:Java Tail filename [n]。其中n 为可选参数,若未指定,则默认显示文件filename
的最后10行,否则显示文件filename 的后n 行。若命令不合法,则显示其用法
============
我现在的问题是 无法处理命令行参数缺省的情况
Java Tail filename [10]
像这样可以输出文件后10行
Java Tail filename []
这样却无法按照要求输出默认的后10行 有异常 各位可以帮忙么
我觉得问题在这段代码里。。。但是不会改
public class Tail {
public static void main(String []args){//命令行参数
try{
if(args[0].equals("Java")&&args[1].equals("Tail")&&args[2]!=null&&args[3]!=null){
File f = new File(args[2]);
int n = 0;//输出行数
if(args[3]=="[]")//缺省参数处理
n = 10;
/*估计就是这儿 参数为缺省的时候无法转换类型*/
else{
额 有采纳的话。。。。送出最后一点分啊 不好意思 分不多。。。只能是个心意
各位大大~帮下忙吧 虽然我就20分了。。。
谁可以给我个命令行参数缺省的例子看看~~~ 展开
其用法为:Java Tail filename [n]。其中n 为可选参数,若未指定,则默认显示文件filename
的最后10行,否则显示文件filename 的后n 行。若命令不合法,则显示其用法
============
我现在的问题是 无法处理命令行参数缺省的情况
Java Tail filename [10]
像这样可以输出文件后10行
Java Tail filename []
这样却无法按照要求输出默认的后10行 有异常 各位可以帮忙么
我觉得问题在这段代码里。。。但是不会改
public class Tail {
public static void main(String []args){//命令行参数
try{
if(args[0].equals("Java")&&args[1].equals("Tail")&&args[2]!=null&&args[3]!=null){
File f = new File(args[2]);
int n = 0;//输出行数
if(args[3]=="[]")//缺省参数处理
n = 10;
/*估计就是这儿 参数为缺省的时候无法转换类型*/
else{
额 有采纳的话。。。。送出最后一点分啊 不好意思 分不多。。。只能是个心意
各位大大~帮下忙吧 虽然我就20分了。。。
谁可以给我个命令行参数缺省的例子看看~~~ 展开
2个回答
展开全部
看起来好像是你对 命令行参数 的理解有错误。
命令行 Java Tail filename [10]
的意思是:java执行名叫Tail的.class文件,并传入参数为filename和[10]
所以你在主函数main()方法里,if条件,只有判断args[0]和args[1]。
==========================
你如果还不知道的话,你可以调试一下,打印出传入的所有参数。
在main()方法的第一行写:
if(args != null){
for(int i=0;i<args.length;i++){
system.out.printIn(args[i]);
}
}
命令行 Java Tail filename [10]
的意思是:java执行名叫Tail的.class文件,并传入参数为filename和[10]
所以你在主函数main()方法里,if条件,只有判断args[0]和args[1]。
==========================
你如果还不知道的话,你可以调试一下,打印出传入的所有参数。
在main()方法的第一行写:
if(args != null){
for(int i=0;i<args.length;i++){
system.out.printIn(args[i]);
}
}
展开全部
import java.util.*;
class TestCode
{
public static void main(String[] args)
{
System.out.println("单词数:"+args.length);
int i;
int min=1000,max=0;
for(i=0;i<args.length;i++)
{
if(max<args[i].length()){
max=args[i].length();
}
if(min>args[i].length()){
min=args[i].length();
}
}
System.out.print("最长单词:");
for(i=0;i<args.length;i++){
if(max==args[i].length()){
System.out.print(args[i]+" ");
}
}
System.out.println();
System.out.println("最长单词字符数:"+max);
System.out.print("最短单词:");
for(i=0;i<args.length;i++){
if(min==args[i].length()){
System.out.print(args[i]+" ");
}
}
System.out.println();
System.out.println("最短单词字符数:"+min);
}
}
这个可以实现,
刚刚开始学习JAVA,有不当的地方请大家指教
class TestCode
{
public static void main(String[] args)
{
System.out.println("单词数:"+args.length);
int i;
int min=1000,max=0;
for(i=0;i<args.length;i++)
{
if(max<args[i].length()){
max=args[i].length();
}
if(min>args[i].length()){
min=args[i].length();
}
}
System.out.print("最长单词:");
for(i=0;i<args.length;i++){
if(max==args[i].length()){
System.out.print(args[i]+" ");
}
}
System.out.println();
System.out.println("最长单词字符数:"+max);
System.out.print("最短单词:");
for(i=0;i<args.length;i++){
if(min==args[i].length()){
System.out.print(args[i]+" ");
}
}
System.out.println();
System.out.println("最短单词字符数:"+min);
}
}
这个可以实现,
刚刚开始学习JAVA,有不当的地方请大家指教
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询