黑马程序员技术交流社区

标题: 请问这个题目的最后一个+号怎么去掉 [打印本页]

作者: wangyuyus    时间: 2013-11-2 21:59
标题: 请问这个题目的最后一个+号怎么去掉
/*
请输入一个要打印的数字a(4),和要打印的项数n(4),打印出来例如 4+44+444+4444+····
*/
import java.util.*;
class  lianxi
{
        public static void main(String[] args)
        {
               
                int a,n;
                Scanner s = new Scanner(System.in);
                System.out.print("请输入a的值");
                a=s.nextInt();
                System.out.print("请输入相加的项数");
                n=s.nextInt();
                for(int i=0;i<n;i++)
                {
                        for(int j=0;j<i+1;j++)
                        {
                                System.out.print(a);
                        }
                        System.out.print("+");
                }
        }
}
作者: 高梦晓    时间: 2013-11-2 22:07
  1. import java.util.*;
  2. class  Test
  3. {
  4.         public static void main(String[] args)
  5.         {
  6.                
  7.                 int a,n;
  8.                 Scanner s = new Scanner(System.in);
  9.                 System.out.print("请输入a的值");
  10.                 a=s.nextInt();
  11.                 System.out.print("请输入相加的项数");
  12.                 n=s.nextInt();
  13.                 for(int i=0;i<n;i++)
  14.                 {
  15.                         for(int j=0;j<i+1;j++)
  16.                         {
  17.                                 System.out.print(a);
  18.                         }
  19.                               if(i<n-1)  //在此行加一个判断,循环到最后一次是不打印"+"
  20.                                 System.out.print("+");
  21.                 }
  22.                
  23.         }
  24. }
复制代码

作者: 王雷1    时间: 2013-11-2 22:11
本帖最后由 王雷1 于 2013-11-3 09:44 编辑

大概是这个意思 。 你自己测试一下 判断应该减几位
  1. public static void main(String[] args) {
  2.                 int a, n;
  3.                 Scanner s = new Scanner(System.in);
  4.                 System.out.print("请输入a的值");
  5.                 a = s.nextInt();
  6.                 System.out.print("请输入相加的项数");
  7.                 n = s.nextInt();
  8.                 StringBuilder sb = new StringBuilder();
  9.                 for (int i = 0; i < n; i++) {
  10.                         for (int j = 0; j < i + 1; j++) {
  11.                                 sb.append(a+" ");
  12. //                                System.out.print(a);
  13.                         }
  14.                         sb.append("+");
  15. //                        System.out.print("+");
  16.                 }
  17.                 sb.substring(0, sb.length()-1);
  18.                 System.out.println(sb);
  19.         }
复制代码

作者: 那得好好想想    时间: 2013-11-2 22:11
  1.    int a,n;
  2.            Scanner s = new Scanner(System.in);
  3.      
  4.            System.out.print("请输入a的值");
  5.            a=s.nextInt();
  6.            System.out.print("请输入相加的项数");
  7.            n=s.nextInt();
  8.            for(int i=0;i<n;i++)
  9.            {
  10.                    for(int j=0;j<i+1;j++)
  11.                    {
  12.                            System.out.print(a);
  13.                    }
  14.                    if(i<n-1)
  15.                    {
  16.                            System.out.print("+");  
  17.                    }
  18.                   
  19.            }
复制代码
在+号上加一个判断即可。n代表要循环的次数上限,假设是4,i<4就会一直执行,那么当i=3时,就是最后一次打印,那么当i<3就一直打印,当i=3了,说明是最后一次,if为false,就不会打印。

作者: 寻丶丶觅    时间: 2013-11-2 22:15
                 for(int i=0;i<n;i++)
                {
                        for(int j=0;j<i+1;j++)
                        {
                                System.out.print(a);
                        }
                                                //循环最后一次增加判断
                                                if (i!=n-1)
                                                {
                                                        System.out.print("+");
                                                }
                        
                }




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2