Java编程题,都是比较经典的面试题
2012-11-29 10:57
513 查看
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<col-i;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);
}
}
}
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<col-i;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编程题,都是比较经典的面试题…
- ios 面试题 经典(比较全) 根据重点总结
- [经典面试题]将字符串里的小写字母转换成大写的。 要求不通过比较
- ios 面试题 经典(比较全) 根据重点总结
- ios 面试题 经典(比较全) 根据重点总结
- 《创业小败局:创业公司长演不衰的21种经典死法(案例集) 》大部分创业案例都是比较幼稚的,适合想创业的在校大学生或者刚入职者阅读 三星推荐
- MySQL20个经典面试题(关于引擎 日志 备份 比较深入)
- 【经典面试题】给一组数,只有两个数只出现了一次,其他所有数都是成对出现的。怎么找出这两个数
- 【经典面试题】给一组数,只有两个数只出现了一次,其他所有数都是成对出现的。怎么找出这两个数
- JAVA面试题,比较经典的面试题
- 合并两个有序链表 经典面试题
- 经典面试题
- 嵌入式经典面试题
- 经典C++面试题
- 【白话经典算法系列之十二】数组中只出现1次的两个数字(百度面试题)
- 汇总:传说中的微软的面试题,都是开放型的智力测试题,应聘IT互联网的有些会考到
- 【Linux 经典面试题】
- 从经典面试题看java中类的加载机制
- 经典面试题:一张表区别DOM解析和SAX解析XML
- Java、Android面试题经典试题