【程序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(); } } } |
|