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);
}
}
}
旧一篇:编程题:求
a+aa+aaa+…….+aaaaaaaaa=? 其中a为1至9之中的一个数,项数也要可以指定。
小肉包:
第一个程序编写的有问题,是错的
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++;
}
}
}
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++;
}
}
}
相关文章推荐
- JAVA面试题,比较经典的面试题
- 比较经典的java基础编程题代码...
- Java编程题,都是比较经典的面试题
- Java经典面试题
- 经典Java面试题(搞笑)
- java面试题大全-代码与编程题(1)
- java面试题大全-代码与编程题(2)
- 深刻剖析经典面试题之二:Java与C#的垃圾回收机制
- Java经典面试题
- java经典面试题
- Java对.NET的经典比较
- 非常经典的JAVA编程题全集
- java经典面试题
- 非常经典的JAVA编程题全集
- java企业面试题(二) 编程题答案
- 经典Java面试题(搞笑)
- Java经典面试题
- JAVA经典截串面试题!
- 经典Java面试题(搞笑)
- 32道经典java面试题