要求编写一个java程序:15个地球人和15个火星人乘宇宙飞船访问嫦娥,中途遇到玉兔打劫,飞船受损,船长猪八戒告诉乘客,只有将全船一半乘客投入太空,才能避免全部去见玉帝.于是30个人围成一
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/23 15:51:29
xX[OW++?DF^| >UJ[8ƶlCVlp6X3;˒,qc,KU%X|39gΨ랼O^I]
>:eXް$´P,ye@kop@|Φ *{paqͷT!ba,ETb
jUi>C1ȹ6B<+&Ð!P&۹qfnxo9}IrsSV!nؽ#n3Yfq؞3M$e}#_Vo2A(s0k'T 7z?l>sܩOn=2ܘy#1OfzROuMz=gP-ʏ:3o}RϗkWkm?&SN ]IcrӤm>e,C
lN}L[FP^ۄP ì¤׆X`!sTvӅ,"u~aL_9MO z1fv5:%zʀg-䬔P喤rkC>n.o&3:S
import java.util.List;
public class CirclePlus {
private List<String> seats = new ArrayList<String>();
//初始化
public CirclePlus(){
if(seats.size()>=0){
for(int i=0;i<30;i++){
seats.add("位置:"+((i+1)>=10?(i+1):"0"+(i+1)));
}
}
}
//踢人方法
public void Kick(int num){
//记录当前被踢人的座位
int tempseat = 0;
//当前要踢的座位
int nowseat = 0;
//记录当前是第几轮
int loop = 1;
//当是15轮时退出
while(loop<=15){
//要踢的人的座位号是上次被踢的座位号+num,-1是因为LIST的编号比真实座位号小1
nowseat = tempseat+num-1;
// System.out.println("nowseat=="+nowseat+"\ntempseat=="+tempseat+"\nloop=="+loop);
//如果要踢的超出当前人数范围,则从第一个人开始重新算起(减掉当前人数)
if(nowseat>=seats.size()){
//为符合上面踢人座位号(nowseat)计算,除去减掉当前人数(seats.size())外,要加回修正值(上面减掉的1),
//以保证 要踢人的座位号(nowseat) 是正确的
tempseat=nowseat-seats.size()-num+1;
}else{
//踢人
System.out.println("第"+loop+"轮抛出:"+seats.remove(nowseat));
//保存当前被踢的座位号
tempseat = nowseat;
//轮次增加
loop++;
}
}
System.out.println("踢人后剩余的安全座位号:");
for(String string: seats){
System.out.println(string);
}
}
public static void main(String[] args) {
CirclePlus cp = new CirclePlus();
cp.Kick(9);
}
}
要求编写一个java程序:15个地球人和15个火星人乘宇宙飞船访问嫦娥,中途遇到玉兔打劫,飞船受损,船长猪八戒告诉乘客,只有将全船一半乘客投入太空,才能避免全部去见玉帝.于是30个人围成一
要求编写一个java程序:
15个地球人和15个火星人乘宇宙飞船访问嫦娥,
中途遇到玉兔打劫,飞船受损,船长猪八戒告诉乘客,
只有将全船一半乘客投入太空,才能避免全部去见玉帝.
于是30个人围成一圈,由第1个人数起,依次报数,数到
第9人,便把他投入大海中,然后再从他的下一个人数起,
数到第9人,再将他扔到大海中,如此循环地进行,直到
剩下15个乘客为止.结果15个火星人全部变成了宇宙卫星.
请问,地球人坐在了哪些位置以避免自己被抛出?
要求编写一个java程序:15个地球人和15个火星人乘宇宙飞船访问嫦娥,中途遇到玉兔打劫,飞船受损,船长猪八戒告诉乘客,只有将全船一半乘客投入太空,才能避免全部去见玉帝.于是30个人围成一
这个讲得麻烦,其实只是求循环顺序为9 的倍数的位置 .剩余的就是地球人的位置.
代码待会儿试着写个看看.
被扔出的位置已经算出来了.
第1轮抛出:位置:09
第2轮抛出:位置:18
第3轮抛出:位置:27
第4轮抛出:位置:06
第5轮抛出:位置:16
第6轮抛出:位置:26
第7轮抛出:位置:07
第8轮抛出:位置:19
第9轮抛出:位置:30
第10轮抛出:位置:12
第11轮抛出:位置:24
第12轮抛出:位置:08
第13轮抛出:位置:22
第14轮抛出:位置:05
第15轮抛出:位置:23
整下整个的代码.
import java.util.ArrayList;import java.util.List;
public class CirclePlus {
private List<String> seats = new ArrayList<String>();
//初始化
public CirclePlus(){
if(seats.size()>=0){
for(int i=0;i<30;i++){
seats.add("位置:"+((i+1)>=10?(i+1):"0"+(i+1)));
}
}
}
//踢人方法
public void Kick(int num){
//记录当前被踢人的座位
int tempseat = 0;
//当前要踢的座位
int nowseat = 0;
//记录当前是第几轮
int loop = 1;
//当是15轮时退出
while(loop<=15){
//要踢的人的座位号是上次被踢的座位号+num,-1是因为LIST的编号比真实座位号小1
nowseat = tempseat+num-1;
// System.out.println("nowseat=="+nowseat+"\ntempseat=="+tempseat+"\nloop=="+loop);
//如果要踢的超出当前人数范围,则从第一个人开始重新算起(减掉当前人数)
if(nowseat>=seats.size()){
//为符合上面踢人座位号(nowseat)计算,除去减掉当前人数(seats.size())外,要加回修正值(上面减掉的1),
//以保证 要踢人的座位号(nowseat) 是正确的
tempseat=nowseat-seats.size()-num+1;
}else{
//踢人
System.out.println("第"+loop+"轮抛出:"+seats.remove(nowseat));
//保存当前被踢的座位号
tempseat = nowseat;
//轮次增加
loop++;
}
}
System.out.println("踢人后剩余的安全座位号:");
for(String string: seats){
System.out.println(string);
}
}
public static void main(String[] args) {
CirclePlus cp = new CirclePlus();
cp.Kick(9);
}
}
OK了,换成while循环才弄好.用for循环直接算座位号误差太大了,还是一个个算.
要求编写一个java程序:15个地球人和15个火星人乘宇宙飞船访问嫦娥,中途遇到玉兔打劫,飞船受损,船长猪八戒告诉乘客,只有将全船一半乘客投入太空,才能避免全部去见玉帝.于是30个人围成一
用JAVA编写一个程序,要求生成5个随机数,随机数的取值范围是20到60
用Java编写一个程序,按照倒序输出26个大写英文字母
第一题:通过代码完成两个整数内容的交换.第二题:编写一个程序,实现两个数字的交换.对于他们的要求有点不理解,麻烦举个实例.JAVA 编写
用java 编写一个程序,要求输入圆的半径,求圆的周长,面积.PS:本人是初学者!
用Java编写一个判断三角形的程序要求:用户输入3个数字.程序判断是否为三角形,如果是三角形,判断是否为等腰,等边,并判断直角,锐角,钝角P.S求代码
有一个数组.内放10个整数,要求找出最小的数和它的下标,然后和数组中最前面的元素对换.用JAVA编写并对程序的句子进行解释
编写一个JAVA程序用于将10个同学的成绩保存在数组中,并计算这些同学的平均分和总成绩.要求分别建立求平
编写JAVA程序,实现输出1--100之间所有不能被7整除的数,并求和 要求:每输出4个数据换行显示
用java编写一个程序计算长方形的面积和周长.长方形的宽和高要求从键盘输入.要可以运行的,
用java语言写:已知圆球体积为4/3*PI*r3,试编写一个程序,要求输入圆球半径,经过计算输出圆球的体积
怎么编写“从3个数中选最大的数”java程序谢谢了,编写一个java程序,实现从3个数中选最大的.
求一个计算正方形面积的Java程序编写一个计算正方形面积的Java程序,要求:1.编写一个是Square类,类名为“Square”+你学号的后两位(例如:Square01).要求:该类应有(1)一个描述边长的属性,
java 判断奇偶数编写一个程序,判断一个整数是奇数还是偶数
java编写程序输入3个整数排序.并按从小到大输出
用Java编写打印下列图形的程序* * * * * * * $ * * * * * $ $ $* * * $ $ $ $ $* $ $ $$可以告诉我是怎样打草稿分析找规律的吗?第一个图形是倒三角形,第二个是菱形.
用java语言试编写一个程序,输入5个数据,输出其中最大数并输出该最大数在这5个数中的序号老大门
用java编写一个程序,计算1!+2!+3!+4!+5!