Java编程题集合.docx

上传人:小飞机 文档编号:3061276 上传时间:2023-03-10 格式:DOCX 页数:13 大小:40.63KB
返回 下载 相关 举报
Java编程题集合.docx_第1页
第1页 / 共13页
Java编程题集合.docx_第2页
第2页 / 共13页
Java编程题集合.docx_第3页
第3页 / 共13页
Java编程题集合.docx_第4页
第4页 / 共13页
Java编程题集合.docx_第5页
第5页 / 共13页
亲,该文档总共13页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《Java编程题集合.docx》由会员分享,可在线阅读,更多相关《Java编程题集合.docx(13页珍藏版)》请在三一办公上搜索。

1、Java编程题集合 北大青鸟官网: Java编程题集合 题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数 import java.util.Scanner; public class lianxi36 public static void main(String args) int N =10; int a = new intN; Scanner s = new Scanner(System.in); System.out.println(请输入10个整数:); for(int i=0; iN; i+) ai = s.nextInt; System.out.pri

2、nt(你输入的数组为:); for(int i=0; iN; i+) System.out.print(ai + ); System.out.print(n请输入向后移动的位数:); int m = s.nextInt; int b = new intm; 北大青鸟官网: for(int i=0; i=m; i-) ai = ai-m; for(int i=0; im; i+) ai = bi; System.out.print(位移后的数组是:); for(int i=0; iN; i+) System.out.print(ai + ); 北大青鸟官网: 题目:有n个人围成一圈,顺序排号。从

3、第一个人开始报数,凡报到3的人退出圈子,问最后留下的是原来第几号的那位。 import java.util.Scanner; public class lianxi37 public static void main(String args) Scanner s = new Scanner(System.in); System.out.print(请输入排成一圈的人数:); int n = s.nextInt; boolean arr = new booleann; for(int i=0; i 1) if(arrindex = true) countNum +; if(countNum =

4、3) countNum =0; 北大青鸟官网: arrindex = false; leftCount -; index +; if(index = n) index = 0; for(int i=0; in; i+) if(arri = true) System.out.println(原排在第+(i+1)+位的人留下了。); 北大青鸟官网: 题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。 /* *题目意思似乎不能用length函数 */ import java.util.*; public class lianxi38 public static void

5、 main(String args) Scanner s = new Scanner(System.in); System.out.println(请输入一个字符串:); String str = s.nextLine; System.out.println(字符串的长度是:+str.length); 北大青鸟官网: 题目:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+.+1/n,当输入n为奇数时,调用函数1/1+1/3+.+1/n(利用指针函数) /没有利用指针函数 import java.util.*; public class lianxi39 public static vo

6、id main(String args) Scanner s = new Scanner(System.in); System.out.print(请输入一个正整数 n= ); int n = s.nextInt; System.out.println(相应数列的和为: + sum(n); public static double sum(int n) double res = 0; if(n % 2 = 0) for(int i=2; i=n; i+=2) res += (double)1 / i; else for(int i=1; i=n; i+=2) 北大青鸟官网: res += (d

7、ouble)1 / i ; return res; 北大青鸟官网: 题目:字符串排序。 public class lianxi40 public static void main(String args) int N=5; String temp = null; String s = new StringN; s0 = matter; s1 = state; s2 = solid; s3 = liquid; s4 = gas; for(int i=0; iN; i+) for(int j=i+1; jN; j+) if(compare(si, sj) = false) temp = si; s

8、i = sj; sj = temp; 北大青鸟官网: for(int i=0; iN; i+) System.out.println(si); static boolean compare(String s1, String s2) boolean result = true; for(int i=0; is1.length & i s2.charAt(i) result = false; break; else if(s1.charAt(i) s2.charAt(i) result = true; break; else if(s1.length s2.length) result = tr

9、ue; else result = false; 北大青鸟官网: return result; 题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子? public class lianxi41 public static void main (String args) int i,m,j=0,k,count; for(i=4;i10000;i+=4) count=0; m=

10、i; for(k=0;k5;k+) j=i/4*5+1; i=j; if(j%4=0) count+; else break; 北大青鸟官网: i=m; if(count=4) System.out.println(原有桃子 +j+ 个); break; 题目:809*?=800*?+9*?+1 其中?代表的两位数,8*?的结果为两位数,9*?的结果为3位数。求?代表的两位数,及809*?后的结果。 /题目错了!809x=800x+9x+1 这样的方程无解。去掉那个1就有解了。 public class lianxi42 public static void main (String args

11、) int a=809,b,i; for(i=10;i13;i+) b=i*a ; if(8*i=100) System.out.println (809*+i+=+800*+i+9*+i+=+b); 北大青鸟官网: 题目:求07所能组成的奇数个数。 /组成1位数是4个。 /组成2位数是7*4个。 /组成3位数是7*8*4个。 /组成4位数是7*8*8*4个。 /. public class lianxi43 public static void main (String args) int sum=4; int j; System.out.println(组成1位数是 +sum+ 个); s

12、um=sum*7; System.out.println(组成2位数是 +sum+ 个); for(j=3;j=9;j+) sum=sum*8; System.out.println(组成+j+位数是 +sum+ 个); 北大青鸟官网: 题目:一个偶数总能表示为两个素数之和。 /由于用除sqrt(n)的方法求出的素数不包括2和3, /因此在判断是否是素数程序中人为添加了一个3。 import java.util.*; public class lianxi44 public static void main(String args) Scanner s = new Scanner(System

13、.in); int n,i; do System.out.print(请输入一个大于等于6的偶数:); n = s.nextInt; while(n=6偶数,不是,重新输入 fun fc = new fun; for(i=2;i=n/2;i+) if(fc.fun(i)=1&(fc.fun(n-i)=1) int j=n-i; 北大青鸟官网: System.out.println(n+ = +i+ + +j); /输出所有可能的素数对 class fun public int fun (int a) /判断是否是素数的函数 int i,flag=0; if(a=3)flag=1;return(

14、flag); for(i=2;i=Math.sqrt(a);i+) if(a%i=0) flag=0;break; else flag=1; return (flag) ;/不是素数,返回0,是素数,返回1 /解法二 import java.util.*; public class lianxi44 public static void main(String args) Scanner s = new Scanner(System.in); int n; 北大青鸟官网: do System.out.print(请输入一个大于等于6的偶数:); n = s.nextInt; while(n=6

15、偶数,不是,重新输入 for(int i=3;i=n/2;i+=2) if(fun(i)&fun(n-i) System.out.println(n+ = +i+ + +(n-i); /输出所有可能的素数对 static boolean fun (int a) /判断是否是素数的函数 boolean flag=false; if(a=3)flag=true;return(flag); for(int i=2;i=Math.sqrt(a);i+) if(a%i=0) flag=false;break; else flag=true; return (flag) ; 北大青鸟官网: 题目:判断一个

16、素数能被几个9整除 /题目错了吧?能被9整除的就不是素数了!所以改成整数了。 import java.util.*; public class lianxi45 public static void main (String args) Scanner s = new Scanner(System.in); System.out.print(请输入一个整数:); int num = s.nextInt; int tmp = num; int count = 0; for(int i = 0 ; tmp%9 = 0 ;) tmp = tmp/9; count +; System.out.prin

17、tln(num+ 能够被 +count+ 个9整除。); 北大青鸟官网: 题目:两个字符串连接程序 import java.util.*; public class lianxi46 public static void main(String args) Scanner s = new Scanner(System.in); System.out.print(请输入一个字符串:); String str1 = s.nextLine; System.out.print(请再输入一个字符串:); String str2 = s.nextLine; String str = str1+str2;

18、System.out.println(连接后的字符串是:+str); 北大青鸟官网: 题目:读取7个数的整数值,每读取一个值,程序打印出该值个数的。 import java.util.*; public class lianxi47 public static void main(String args) Scanner s = new Scanner(System.in); int n=1,num; while(n=7) do System.out.print(请输入一个1-50之间的整数:); num= s.nextInt; while(num50); for(int i=1;i=num;

19、i+) 北大青鸟官网: System.out.print(*); System.out.println; n +; 题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。 import java.util.*; public class lianxi48 public static void main(String args) Scanner s = new Scanner(System.in); int num=0,temp; do System.out.pri

20、nt(请输入一个4位正整数:); num = s.nextInt; while (num9999); 北大青鸟官网: int a=new int4; a0 = num/1000; /取千位的数字 a1 = (num/100)%10; /取百位的数字 a2 = (num/10)%10; /取十位的数字 a3 = num%10; /取个位的数字 for(int j=0;j4;j+) aj+=5; aj%=10; for(int j=0;j=1;j+) temp = aj; aj = a3-j; a3-j =temp; System.out.print(加密后的数字为:); for(int j=0;

21、j4;j+) System.out.print(aj); 北大青鸟官网: 题目:计算字符串中子串出现的次数 import java.util.*; public class lianxi49 public static void main(String args) Scanner s = new Scanner(System.in); System.out.print(请输入字符串:); String str1 = s.nextLine; System.out.print(请输入子串:); String str2 = s.nextLine; int count=0; if(str1.equal

22、s()|str2.equals() 北大青鸟官网: System.out.println(你没有输入字符串或子串,无法比较!); System.exit(0); else for(int i=0;i=str1.length-str2.length;i+) if(str2.equals(str1.substring(i, str2.length+i) /这种比法有问题,会把aaa看成有2个aa子串。 count+; System.out.println(子串在字符串中出现: +count+ 次); 北大青鸟官网: 题目:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据,计算出平均成绩,把原

23、有的数据和计算出的平均分数存放在磁盘文件 stud 中。 import java.io.*; import java.util.*; public class lianxi50 public static void main(String args) Scanner ss = new Scanner(System.in); String a = new String56; for(int i=1; i6; i+) 北大青鸟官网: System.out.print(请输入第+i+个学生的学号:); ai-10 = ss.nextLine; System.out.print(请输入第+i+个学生的

24、姓名:); ai-11 = ss.nextLine; for(int j=1; j4; j+) System.out.print(请输入该学生的第+j+个成绩:); ai-1j+1 = ss.nextLine; System.out.println(n); /以下计算平均分 float avg; int sum; for(int i=0; i5; i+) sum=0; for(int j=2; j5; j+) sum=sum+ Integer.parseInt(aij); avg= (float)sum/3; ai5=String.valueOf(avg); /以下写磁盘文件 北大青鸟官网:

25、String s1; try File f = new File(C:stud); if(f.exists) System.out.println(文件存在); else System.out.println(文件不存在,正在创建文件); f.createNewFile;/不存在则创建 BufferedWriter output = new BufferedWriter(new FileWriter(f); for(int i=0; i5; i+) for(int j=0; j6; j+) s1=aij+rn; output.write(s1); output.close; System.out.println(数据已写入c盘文件stud中!); catch (Exception e) e.printStackTrace; 北大青鸟官网:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号