A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

朱丽静

初级黑马

  • 黑马币:

  • 帖子:

  • 精华:

© 朱丽静 初级黑马   /  2012-9-8 23:41  /  1895 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 朱丽静 于 2012-9-8 23:44 编辑

  1. public class PrintChar
  2. {
  3.     public static void main(String[] args)
  4. {
  5.      int i,j;
  6.       for(i=0;args[i]!='\0';i++)
  7.   {
  8.   System.out.println("args[i]");
  9.   for(j=0;j<i;j++)
  10.              System.out.println("*");
  11.   }
  12. }
  13. }
复制代码
程序还是有问题,要求输入ABCD...屏幕输出A*B**C***... 可是怎么就不对呢?

评分

参与人数 1技术分 +1 收起 理由
田建 + 1 一步一步来,加油!

查看全部评分

7 个回复

倒序浏览
顶个!!!!!!!!!!!!!!!!!!!自己顶
回复 使用道具 举报
代码修改:
public class PrintChar
{
    public static void main(String[] args)
{
     int i,j;
      for(i=0;!args.equals("0");i++)
  {
  System.out.print(""+args);
  for(j=0;j<=i;j++)
             System.out.print("*");
  }
}
}  
args这个数组定义的是String类型,但你用于比较的却是char类型的值,其次就是你的内层循环里的判断语句了,因为你给出的是j<i,因为一开始i=0,j=0,到了执行内层循环的时候因为不满足j<i,所以跳过这次的循环直接进入第二次外层循环,所以就会出现AB**C***...这样的结果,最后就是你要明白println与print的区别:println是每输完一次就换行,print就不会。

评分

参与人数 1技术分 +1 收起 理由
田建 + 1 args[i],请检查!

查看全部评分

回复 使用道具 举报
lz,你这代码真的搞不懂你要做什么你如果想遍历一个数组的话你可以这样做
for(int i=0;i<args.length;i++){
     System.out.println(args);
}
希望对你有所帮助
回复 使用道具 举报
System.out.println(args[i]);编辑器的问题显示出错了,应该是这个样子
回复 使用道具 举报
public class PrintChar{
       public static void main(String[] args) {                               
        for (int i = 0; i < args.length; i++) {
        if (args[i] != "\\0") {
                System.out.print(args[i]);
                for (int j = 0; j <= i; j++)
                        System.out.print("*");
                        }
                }
        }
}
回复 使用道具 举报
class Demo
{
       public static void main(String[] args)
        {
              int i ,j;
              StringBuilder sb = new StringBuilder();
              //传入的是一个字符串,其实是参数数组的args的一个元素,即args[0]对应的值
              for (i=0;i<args[0].length();i++) {
                      //每次截取一个字符
                      sb.append(args[0].substring(i, i+1));
                      //计算*的个数
                      for(j=0;j<=i;j++) {
                              sb.append("*");
                      }
              }
              System.out.println(sb.toString());
            }
}

希望对楼主有帮助!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马