您的位置:首页 > 职场人生

Java编程题,都是比较经典的面试题…

2014-08-01 15:39 281 查看
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++){
//运行老久,减少循环次数会快很多,只是精确度小些

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);

}

}

}

同类其他面试题 点击新一篇或旧一篇可浏览全部同类面试题

新一篇:Java多线程方面的编程笔试题

旧一篇:编程题:求
a+aa+aaa+…….+aaaaaaaaa=? 其中a为1至9之中的一个数,项数也要可以指定。

共有7 条 关于 “Java编程题,都是比较经典的面试题”的评论

1
小肉包:

第一个程序编写的有问题,是错的

2
小肉包:

2.0/1.0+4.0/2.0+8.0/4.0+16.0/8.0。。。这是你的输出,你的分母的赋值不对哦!~~应该是

public static void main(String args[]) {

double sum=0.0;

double fenzi=2.0;

double fenmu=1.0;

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

sum+=fenzi/fenmu;

System.out.print(fenzi +"/"+fenmu+"+");

double tmp=fenzi;

fenzi=fenzi+fenmu;

fenmu=tmp;

}

System.out.println("="+sum);

}

3
cc:

dasdas

4
七夕:

public static void pi(){

double pi =4.0;

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

pi+=Math.pow(-1, i)*(4.0/(2*i+1));

if(pi>3.1415&&pi<3.1416){

System.out.println(pi);

break;

}

}

}

5
Anonymous:

第一道题写的有问题

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

sum += fenZi / fenMu ;

a=fenMu

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

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

}

6
焦静:

第二道题目有问题

在for循环的第一句加上

if (pi > 3.1415 && pi < 3.14160)

break;

7
simple-zhaojl:

package com.mkyong.core.el;

import org.springframework.context.ApplicationContext;

import
org.springframework.context.support.ClassPathXmlApplicationContext;

public class App {

public static void main(String[] args) {

// TODO Auto-generated method stub

//ApplicationContext context=new
ClassPathXmlApplicationContext(“SpringBeans.xml”);

//CustomerC obj=(CustomerC)context.getBean(“customerC”);

// System.out.println(obj);

//System.out.println(getSum(3));

// getPI();

//fibonacci(9);

test();

}

public static double getSum(int n){

double a=1,b=2,sum=0;

for(int i=1;i 3.1415 && sum<3.1416){

System.out.println(sum);

break;

}

b+=2;

a++;

}

}

public static void fibonacci(int n){

int a=1,b=1;

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

int temp;

temp=b;

b=a+b;

a=temp;

}

System.out.println(b);

}

public static void test(){

double sum=1;

double b=3;

int i=2;

while(true){

if(i%2==0){

sum-=1/b;

}else{

sum+=1/b;

}

if(Math.abs(1/b)<1e-5){

System.out.println("第"+i+"项,和值为:"+sum);

return;

}

b+=2;

i++;

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: