美文网首页
面试Java题(er)

面试Java题(er)

作者: 清风_d587 | 来源:发表于2018-08-26 13:15 被阅读10次

    题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。  

    1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,   则表明此数不是素数,反之是素数。  

    import java.util.ArrayList;

    public class pingpang {

     String a,b,c;

     public static void main(String[] args) {

      String[] op = { "x", "y", "z" };

      ArrayList arrayList=new ArrayList();

      for (int i = 0; i < 3; i++)

       for (int j = 0; j < 3; j++)

        for (int k = 0; k < 3; k++) {

         pingpang a=new pingpang(op[i],op[j],op[k]);

         if(!a.a.equals(a.b)&&!a.b.equals(a.c)&&!a.a.equals("x")

           &&!a.c.equals("x")&&!a.c.equals("z")){

          arrayList.add(a);

         }

        }

      for(Object a:arrayList){

      System.out.println(a);

      }

     }

     public pingpang(String a, String b, String c) {

      super();

      this.a = a;

      this.b = b;

      this.c = c;

     }

     @Override

     public String toString() {

      // TODO Auto-generated method stub

      return "a的对手是"+a+","+"b的对手是"+b+","+"c的对手是"+c+"\n";

     }

    }

      题目:打印出如下图案(菱形)  

    *  

    ***  

    ******  

    ********  

    ******  

    ***  

    *  

    1.程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重   for循环,第一层控制行,第二层控制列。  

    三角形:

    public class StartG {

       public static void main(String [] args)

       {

       int i=0;

       int j=0;

       for(i=1;i<=4;i++)

       {   for(j=1;j<=2*i-1;j++)

       System.out.print("*");

            System.out.println("");    

       }

           for(i=4;i>=1;i--)

           { for(j=1;j<=2*i-3;j++)

               System.out.print("*");

             System.out.println("");    

           }

       }

     }

    菱形:

    public class StartG {

       public static void main(String [] args)

       {

       int i=0;

       int j=0;

       for(i=1;i<=4;i++)

       {

       for(int k=1; k<=4-i;k++)

         System.out.print(" ");

       for(j=1;j<=2*i-1;j++)

       System.out.print("*");

       System.out.println("");    

       }

           for(i=4;i>=1;i--)

           {

       for(int k=1; k<=5-i;k++)

         System.out.print(" ");

            for(j=1;j<=2*i-3;j++)

               System.out.print("*");

             System.out.println("");    

           }

       }

     }

       题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。  

    1.程序分析:请抓住分子与分母的变化规律。  

    public class test20 {

     public static void main(String[] args) {

      float fm = 1f;

      float fz = 1f;

      float temp;

      float sum = 0f;

      for (int i=0;i<20;i++){

       temp = fm;

       fm = fz;

       fz = fz + temp;

       sum += fz/fm;

       //System.out.println(sum);

      }

      System.out.println(sum);

     }

    }

    题目:求1+2!+3!+...+20!的和  

    1.程序分析:此程序只是把累加变成了累乘。  

    public class Ex21 {

    static long sum = 0;

    static long fac = 0;

    public static void main(String[] args) {

       long sum = 0;

       long fac = 1;

       for(int i=1; i<=10; i++) {

        fac = fac * i;

        sum += fac;

       }

       System.out.println(sum);

    }

    }

       题目:利用递归方法求5!。  

    1.程序分析:递归公式:fn=fn_1*4!  

    import java.util.Scanner;

    public class Ex22 {

    public static void main(String[] args) {

       Scanner s = new Scanner(System.in);

       int n = s.nextInt();

       Ex22 tfr = new Ex22();

       System.out.println(tfr.recursion(n));

    }

    public long recursion(int n) {

       long value = 0 ;

       if(n ==1 || n == 0) {

        value = 1;

       } else if(n > 1) {

        value = n * recursion(n-1);

       }

       return value;

    }有需要的联系我2317384986        yxxy1717}

    相关文章

      网友评论

          本文标题:面试Java题(er)

          本文链接:https://www.haomeiwen.com/subject/frkoiftx.html