一个关于String[] args的问题 进来看看

wankaiming 2012-11-05 12:53:23
在命令行我运行java Test 1 2 3 4 5 6 7 8 9 10
然后我输出
for(int i=0;i<10;i++) System.out.print(args[i]+' ');

输出的结果却是1 332 343 354 365 376 387 398 409 4110 42

应该输出1 2 3 4 5 6 7 8 9 10才对啊 求人看看
...全文
226 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
为啥呢 2012-11-05
  • 打赏
  • 举报
回复
循环顺序、输入方式、输出方式综合导致了这个结果... 建议你直接输出Arrys.asList(args)看看
tessykandy 2012-11-05
  • 打赏
  • 举报
回复


public class Test {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		System.out.println("-->Code: System.out.print( i + ' ')");
		for (int i = 0; i < 10; i++) {
			System.out.print( i + ' ');
		}
		System.out.println("\n");
		
		System.out.println("-->Code: System.out.print( i + \" \")");
		for (int i = 0; i < 10; i++) {
			System.out.print( i + " ");
		}
	}

}

测试结果如下:

-->Code: System.out.print( i + ' ')
32333435363738394041

-->Code: System.out.print( i + " ")
0 1 2 3 4 5 6 7 8 9 
wankaiming 2012-11-05
  • 打赏
  • 举报
回复
引用 13 楼 sunming2008 的回复:
楼主把三个地方的args[i]+' '换成args[i]+", " 就可以了 原因自己思考一下,debug就知道了
解决了 3Q 原来是把字符当做ASCII来算了 换做两行输出就行了
看着奢扣 2012-11-05
  • 打赏
  • 举报
回复
用单引号引起来的空格 遇到整形变量进行拼接会自动转换为acsii吗,也就是32,打印log一律用双引号
看着奢扣 2012-11-05
  • 打赏
  • 举报
回复

try {
			if(args.length<10)
				throw new Exception("请输入至少10个成绩!");
			int[] a = new int[10]; 
			System.out.println("输入的10个成绩为:");
			for(int i=0;i<10;i++){ 
				//System.out.print(args[i]+", ");
				a[i]=Integer.parseInt(args[i]); //转换为整数 
				System.out.print(a[i]+", ");
			}
			System.out.println();
			System.out.println("排序后降序输出结果为:");
			Arrays.sort(a);
			for(int i=9;i>=0;i--) System.out.print(a[i]+", ");
			System.out.println();         
			} catch (NumberFormatException nfe) {
				System.out.println("请输入成绩");
				} catch (Exception e) { 
					e.getMessage();
					}   
		} 
看着奢扣 2012-11-05
  • 打赏
  • 举报
回复
楼主把三个地方的args[i]+' '换成args[i]+", " 就可以了 原因自己思考一下,debug就知道了
wankaiming 2012-11-05
  • 打赏
  • 举报
回复
我发现跟放的位置有关系 一开始就打印的是没问题 但是我定义了数组后再打印就出问题
wankaiming 2012-11-05
  • 打赏
  • 举报
回复
引用 10 楼 pyf2010bupt 的回复:
我觉得应该是你把‘’换成“”试试,因为我是成功的。
你试了我的完整代码也是成功的嘛
pyf2010bupt 2012-11-05
  • 打赏
  • 举报
回复
我觉得应该是你把‘’换成“”试试,因为我是成功的。
wankaiming 2012-11-05
  • 打赏
  • 举报
回复
引用 1 楼 xodbc 的回复:
循环顺序、输入方式、输出方式综合导致了这个结果... 建议你直接输出Arrys.asList(args)看看
楼下贴了完整代码你试试
wankaiming 2012-11-05
  • 打赏
  • 举报
回复
引用 6 楼 nmyangym 的回复:
这样试试. Java code123for(int i=0;i<10;i++) System.out.print(args[i]+" ");
还是不行 我楼下贴了完整代码你看看
wankaiming 2012-11-05
  • 打赏
  • 举报
回复
引用 5 楼 sunming2008 的回复:
run configurations -> arguments -> program arguments里边写参数

package Test;
import java.util.Arrays;

public class Test6{
	public static void main(String args[])
	{
		try {
			if(args.length<10)
				throw new Exception("请输入至少10个成绩!");
			int[] a = new int[10];
			System.out.println("输入的10个成绩为:");
			for(int i=0;i<10;i++){
				System.out.print(args[i]+' ');
				a[i]=Integer.parseInt(args[i]); //转换为整数
				System.out.print(a[i]+' ');
			}
			System.out.println();
			
			System.out.println("排序后降序输出结果为:");
			Arrays.sort(a);
			for(int i=9;i>=0;i--) System.out.print(a[i]+' ');
			System.out.println();
		} catch (NumberFormatException nfe) {
			System.out.println("请输入成绩");
		} catch (Exception e) {
			e.getMessage();
		}
		
	}
}
包名Test 文件名Test6 启动方式是右键 run as -> arguments -> program arguments 输入1 2 3 4 5 6 7 8 9 10 上面是完整程序 你试试。。。 我纠结啊 试了其他的文件时正常的。。这个就出错 软件设置错了吗?
nmyangym 2012-11-05
  • 打赏
  • 举报
回复
这样试试.

for(int i=0;i<10;i++) System.out.print(args[i]+" ");

看着奢扣 2012-11-05
  • 打赏
  • 举报
回复
run configurations -> arguments -> program arguments里边写参数
看着奢扣 2012-11-05
  • 打赏
  • 举报
回复

public class Test{     
	public static void main(String[] args) {
		for(int i=0;i<10;i++) System.out.print(args[i]+' ');
	}
}

D:\Test\bin>java Test 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 你是不是搞错文件了?
wankaiming 2012-11-05
  • 打赏
  • 举报
回复
引用 1 楼 xodbc 的回复:
循环顺序、输入方式、输出方式综合导致了这个结果... 建议你直接输出Arrys.asList(args)看看
怎么改正啊 输入方式就是在myeclipse里面设置的
wankaiming 2012-11-05
  • 打赏
  • 举报
回复
在myeclipse设置的args

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧