java程序设计与开发试题_Java编程题,都是比较经典的面试题

1. 求 2/1+3/2+5/3+8/5+13/8……前20项之和?

class Sum{

public static void main(Sting[] args){

double sum=0;

double fenZi=2.0, fenMu=1.0;    //初始的分子 (fenZi)=2,分母(fenMu)=1

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

sum += fenZi / fenMu ;

fenMu = fenZi;           //下一项的分母 = 上一项的分子

fenZi += fenMu;         //下一项的分子 = 上一项的分子加分母

}

System.out.println(“sum= “sum);

}

}

2、利用程序输出如下图形:

*

* * *

* * * * *

* * * * * * *

* * * * *

* * *

*

class Asterisk{

public static void main(String[] args){

for (int i=1; i<=13; i+=2){

for(int j=1; j<=i && i+j<= 14; j++){System.out.print(“* “);}

System.out.println();  // 换行

}

}

}

3、计算圆周率

PI=4-4/3+4/5-4/7……

打印出第一个大于 3.1415小于 3.1416的值

class Pi {

public static void main(String[] args){

double pi =0;  //定义初始值

double fenZi = 4;    //分子为4

double fenMu = 1;  //第一个4,可看作分母为1 的分式,以后的分母每次递增2

for (int i = 0; i < 1000000000; i++){ //运行老久,java培训减少循环次数会快很多,只是精确度小些

pi += (fenZi/fenMu) ;

fenZi *= -1.0;    //每项分子的变化是+4,-4,+4,-4 …

fenMu += 2.0;    //分母的变化是1,3,5,7, …   每项递加2

}

System.out.println(pi);

}

}

输出结果为pi = 3.1415926525880504,应该不精确

4、输入一个数据n,计算斐波那契数列(Fibonacci)的第n个值

1  1  2  3  5  8  13  21  34

规律:一个数等于前两个数之和

//计算斐波那契数列(Fibonacci)的第n个值

public class Fibonacci{

public static void main(String args[]){

int n = Integer.parseInt(args[0]);

int n1 = 1;//第一个数

int n2 = 1;//第二个数

int sum = 0;//和

if(n<=0){

System.out.println(“参数错误!”);

return;

}

if(n<=2){

sum = 1;

}else{

for(int i=3;i<=n;i++){

sum = n1+n2;

n1 = n2;

n2 = sum;

}

}

System.out.println(sum);

}

}

//计算斐波那契数列(Fibonacci)的第n个值

//并把整个数列打印出来

public class FibonacciPrint{

public static void main(String args[]){

int n = Integer.parseInt(args[0]);

FibonacciPrint t = new FibonacciPrint();

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

t.print(i);

}

}

public void print(int n){

int n1 = 1;//第一个数

int n2 = 1;//第二个数

int sum = 0;//和

if(n<=0){

System.out.println(“参数错误!”);

return;

}

if(n<=2){

sum = 1;

}else{

for(int i=3;i<=n;i++){

sum = n1+n2;

n1 = n2;

n2 = sum;

}

}

System.out.println(sum);

}

}

5、求1-1/3+1/5-1/7+1/9……的值。

a,求出前50项和值。

b,求出最后一项绝对值小于1e-5的和值。

6、在屏幕上打印出n行的金字塔图案,如,若n=5,则图案如下:

*

***

*****

*******

*********

//打印金字塔图案

public class PrintStar{

public static void main(String args[]){

int col = Integer.parseInt(args[0]);

for(int i=1;i<=col;i++){//i表示行数

//打印空格

for(int k=0;k

System.out.print(” “);

}

//打印星星

for(int m=0;m<2*i-1;m++){

System.out.print(“*”);

}

System.out.println();

}

}

}

7、歌德巴赫猜想,任何一个大于六的偶数可以拆分成两个质数的和

打印出所有的可能

//任何一个大于六的偶数可以拆分成两个质数的和

//打印出所有的可能

public class Gedebahe{

public static void main(String args[]){

int num = Integer.parseInt(args[0]);

if(num<=6){

System.out.println(“参数错误!”);

return;

}

if(num%2!=0){

System.out.println(“参数错误!”);

return;

}

Gedebahe g = new Gedebahe();

//1不是质数,2是偶数,因此从3开始循环

for(int i=3;i<=num/2;i++){

if(i%2==0){//如果为偶数,退出本次循环

continue;

}

//当i与num-i都为质数时,满足条件,打印

if(g.isPrime(i) && g.isPrime(num-i)){

System.out.println(i+” + “+(num-i)+” = “+num);

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值