黑马程序员技术交流社区

标题: 50道java基础题——每帖2题 [打印本页]

作者: 744919632    时间: 2015-12-17 00:49
标题: 50道java基础题——每帖2题
【程序18】
题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。
  
import  java.util.ArrayList;
  
public class  Prog18{
  
    String a,b,c;//甲队成员
  
    public static void main(String[] args){
  
        String[] racer =  {"x","y","z"};//乙队成员
  
        ArrayList<Prog18> arrayList =  new ArrayList<Prog18>();
  
        for(int i=0;i<3;i++)
  
           for(int j=0;j<3;j++)
  
             for(int k=0;k<3;k++){
  
                 Prog18 prog18 = new  Prog18(racer,racer[j],racer[k]);
  
                 if(!prog18.a.equals(prog18.b)  && !prog18.a.equals(prog18.c) && !prog18.b.equals(prog18.c)  &&
  
                    !prog18.a.equals("x") &&  !prog18.c.equals("x") && !prog18.c.equals("z"))
  
                    arrayList.add(prog18);
  
             }
  
           for(Object obj:arrayList)
  
             System.out.println(obj);
  
    }
  
    //构造方法
  
    private Prog18(String a,String b,String  c){
  
        this.a = a;
  
        this.b = b ;
  
        this.c = c;
  
    }
  
    public String toString(){
  
        return "a的对手是"+a+"  "+"b的对手是"+b+"  "+"c的对手是"+c;
  
    }
  
}
  
【程序19】
题目:打印出如下图案(菱形)
   *
   ***
******
********
******
  ***
   *
程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重 for循环,第一层控制行,第二层控制列。
  
public class  Prog19{
  
    public static void main(String[] args){
  
        int n = 5;
  
        printStar(n);
  
    }
  
    //打印星星
  
    private static void printStar(int n){
  
        //打印上半部分
  
        for(int i=0;i<n;i++){
  
            for(int j=0;j<2*n;j++){
  
             if(j<n-i)
  
               System.out.print(" ");
  
             if(j>=n-i &&  j<=n+i)
  
               System.out.print("*");
  
           }
  
           System.out.println();
  
        }
  
        //打印下半部分
  
        for(int i=1;i<n;i++){
  
            System.out.print(" ");
  
            for(int j=0;j<2*n-i;j++){
  
                if(j<i)
  
               System.out.print(" ");
  
             if(j>=i &&  j<2*n-i-1)
  
               System.out.print("*");
  
            }
  
            System.out.println();
  
        }
  
    }
  
}
  


作者: Jerson_ZF    时间: 2015-12-17 12:33
干货呀,点赞
作者: a591986427    时间: 2015-12-17 13:09
支持楼主,谢谢分享
作者: 高云    时间: 2015-12-17 13:48
加油,。。
作者: qq892384796    时间: 2015-12-17 14:23
水..............................




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