Java编程题集合三Word格式.docx
- 文档编号:21354340
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:10
- 大小:18.76KB
Java编程题集合三Word格式.docx
《Java编程题集合三Word格式.docx》由会员分享,可在线阅读,更多相关《Java编程题集合三Word格式.docx(10页珍藏版)》请在冰豆网上搜索。
有n个人围成一圈,顺序排号。
从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
publicclasslianxi37{
请输入排成一圈的人数:
intn=s.nextInt();
boolean[]arr=newboolean[n];
arr.length;
arr[i]=true;
intleftCount=n;
intcountNum=0;
intindex=0;
while(leftCount>
1){
if(arr[index]==true){
countNum++;
if(countNum==3){
countNum=0;
arr[index]=false;
leftCount--;
index++;
if(index==n){
index=0;
n;
if(arr[i]==true){
原排在第"
+(i+1)+"
位的人留下了。
【程序38】
写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。
/*………………
*……题目意思似乎不能用length()函数
*/
importjava.util.*;
publicclasslianxi38{
请输入一个字符串:
Stringstr=s.nextLine();
字符串的长度是:
+str.length());
}
【程序39】
编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n(利用指针函数)
//没有利用指针函数
publicclasslianxi39{
请输入一个正整数n="
相应数列的和为:
+sum(n));
publicstaticdoublesum(intn){
doubleres=0;
if(n%2==0){
for(inti=2;
=n;
i+=2){
res+=(double)1/i;
}else{
for(inti=1;
res+=(double)1/i;
returnres;
}
【程序40】
字符串排序。
publicclasslianxi40{
intN=5;
Stringtemp=null;
String[]s=newString[N];
s[0]="
matter"
;
s[1]="
state"
s[2]="
solid"
s[3]="
liquid"
s[4]="
gas"
for(intj=i+1;
j<
j++){
if(compare(s[i],s[j])==false){
temp=s[i];
s[i]=s[j];
s[j]=temp;
System.out.println(s[i]);
staticbooleancompare(Strings1,Strings2){
booleanresult=true;
s1.length()&
&
s2.length();
if(s1.charAt(i)>
s2.charAt(i)){
result=false;
break;
}elseif(s1.charAt(i)<
s2.charAt(i)){
result=true;
if(s1.length()<
s2.length()){
returnresult;
【程序41】
海滩上有一堆桃子,五只猴子来分。
第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。
第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?
publicclasslianxi41{
publicstaticvoidmain(String[]args){
inti,m,j=0,k,count;
for(i=4;
i<
10000;
i+=4)
{count=0;
m=i;
for(k=0;
k<
5;
k++)
{
j=i/4*5+1;
i=j;
if(j%4==0)
count++;
elsebreak;
i=m;
if(count==4)
{System.out.println("
原有桃子"
+j+"
个"
break;
【程序42】
809*?
?
=800*?
+9*?
+1
其中?
代表的两位数,8*?
的结果为两位数,9*?
的结果为3位数。
求?
代表的两位数,及809*?
后的结果。
//题目错了!
809x=800x+9x+1这样的方程无解。
去掉那个1就有解了。
publicclasslianxi42{
inta=809,b,i;
for(i=10;
13;
i++)
{b=i*a;
if(8*i<
100&
9*i>
=100)
System.out.println("
809*"
+i+"
="
+"
800*"
9*"
+b);
【程序43】
求0—7所能组成的奇数个数。
//组成1位数是4个。
//组成2位数是7*4个。
//组成3位数是7*8*4个。
//组成4位数是7*8*8*4个。
//......
publicclasslianxi43{
intsum=4;
intj;
System.out.println("
组成1位数是"
+sum+"
sum=sum*7;
组成2位数是"
for(j=3;
j<
=9;
j++){
sum=sum*8;
组成"
位数是"
【程序44】
一个偶数总能表示为两个素数之和。
//由于用除sqrt(n)的方法求出的素数不包括2和3,
//因此在判断是否是素数程序中人为添加了一个3。
publicclasslianxi44{
Scanners=newScanner(System.in);
intn,i;
do{
请输入一个大于等于6的偶数:
n=s.nextInt();
}while(n<
6||n%2!
=0);
//判断输入是否是>
=6偶数,不是,重新输入
funfc=newfun();
for(i=2;
=n/2;
i++){
if((fc.fun(i))==1&
(fc.fun(n-i)==1))
{intj=n-i;
System.out.println(n+"
="
+"
+j);
}//输出所有可能的素数对
classfun{
publicintfun(inta)
//判断是否是素数的函数
{
inti,flag=0;
if(a==3){flag=1;
return(flag);
for(i=2;
=Math.sqrt(a);
if(a%i==0){flag=0;
elseflag=1;
return(flag);
//不是素数,返回0,是素数,返回1
//解法二
intn;
for(inti=3;
i+=2){
if(fun(i)&
fun(n-i)){
+(n-i));
staticbooleanfun(inta){
booleanflag=false;
if(a==3){flag=true;
for(inti=2;
if(a%i==0){flag=false;
elseflag=true;
【程序45】
判断一个素数能被几个9整除
//题目错了吧?
能被9整除的就不是素数了!
所以改成整数了。
publicclasslianxi45{
请输入一个整数:
intnum=s.nextInt();
int
tmp=num;
intcount=0;
for(inti=0;
tmp%9==0;
){
tmp=tmp/9;
count++;
System.out.println(num+"
能够被"
+count+"
个9整除。
【程序46】
两个字符串连接程序
publicclasslianxi46{
Stringstr1=s.nextLine();
请再输入一个字符串:
Stringstr2=s.nextLine();
Stringstr=str1+str2;
连接后的字符串是:
+str);
【程序47】
读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。
publicclasslianxi47{
intn=1,num;
while(n<
=7){
do{
请输入一个1--50之间的整数:
num=s.nextInt();
}while(num<
1||num>
50);
=num;
{System.out.print("
*"
System.out.println();
n++;
【程序48】
某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:
每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
publicclasslianxi48
publicstaticvoidmain(Stringargs[]){
intnum=0,temp;
请输入一个4位正整数:
num=s.nextInt();
}while(num<
1000||num>
9999);
inta[]=newint[4];
a[0]=num/1000;
//取千位的数字
a[1]=(num/100)%10;
//取百位的数字
a[2]=(num/10)%10;
//取十位的数字
a[3]=num%10;
//取个位的数字
for(intj=0;
4;
j++)
{
a[j]+=5;
a[j]%=10;
=1;
temp=a[j];
a[j]=a[3-j];
a[3-j]=temp;
加密后的数字为:
System.out.print(a[j]);
【程序49】
计算字符串中子串出现的次数
publicclasslianxi49{
publicstaticvoidmain(Stringargs[]){
请输入字符串:
请输入子串:
intcount=0;
if(str1.equals("
)||str2.equals("
))
你没有输入字符串或子串,无法比较!
System.exit(0);
else
=str1.length()-str2.length();
i++)
if(str2.equals(str1.substring(i,str2.length()+i)))
//这种比法有问题,会把"
aaa"
看成有2个"
aa"
子串。
子串在字符串中出现:
次"
【程序50】
有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,把原有的数据和计算出的平均分数存放在磁盘文件"
stud"
中。
importjava.io.*;
publicclasslianxi50{
publicstaticvoidmain(String[]args){
Scannerss=newScanner(System.in);
String[][]a=newString[5][6];
6;
请输入第"
个学生的学号:
a[i-1][0]=ss.nextLine();
个学生的姓名:
a[i-1][1]=ss.nextLine();
for(intj=1;
请输入该学生的第"
个成绩:
a[i-1][j+1]=ss.nextLine();
\n"
//以下计算平均分
floatavg;
intsum;
for(inti=0;
sum=0;
for(intj=2;
sum=sum+Integer.parseInt(a[i][j]);
avg=(float)sum/3;
a[i][5]=String.valueOf(avg);
//以下写磁盘文件
Strings1;
try{
Filef=newFile("
C:
\\stud"
if(f.exists()){
文件存在"
}else{
文
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 编程 集合
