美文网首页
面试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