这个讲得麻烦,其实只是求循环顺序为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 ListString seats = new ArrayListString();
//初始化
public CirclePlus(){
if(seats.size()=0){
for(int i=0;i30;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循环直接算座位号误差太大了,还是一个个算。
1、你先报名参加星际民航大学。
2、然后在星际民航大学里学习最基础的知识。
3、之后大三就是你的分水岭了,你可以选择继续上到大5,然后去民用星际星际飞船制造公司去工作,或者你选择考星际军校。
4、等你考上星际军校之后你就可以真正的接触军用级的飞船了,但是前期还是理论知识和一些工厂残次品给你们这些学员来练手。
5、等你成绩很好,赢得上层重视。或者你刻苦努力学习,终有一天获得上层重视。这两种只是时间的差别。
6、之后你就可以真正的加入高层培训班。这个时候就是你真正可以直接接触军用级的星际飞船了。
7、目前的星际飞船普遍采用java编写,优点就不说了,以后你自然会知道。
——————我这是从3598年穿越回来给你回答的,我不了解你所在年份的情况,不过我所在年份都是这样做的。
不知道Java 学习顺序的话,我提供你一条学习线路图!
按照视频学习的过程中,学习方法也是很重要的!一定要记得勤记笔记,整理程思维导图,方便后续复习方便。
第一部分:JavaSE:Java语言最基本的一套库
学习JavaEE或JavaME之前,JavaSE是必学的。
* Java开发环境搭建
* Java基础语法
* 面向对象
* 数组
* 异常
* 集合
* 线程
* IO流
* 反射机制
* 注解Annotation
* 网络编程
第二部分:数据库 【MySQL + JDBC】
* 只要学习编程,数据库是一定要学习的,是一门公共的学科。
* java、C、python、C#等程序员都需要学习数据库。
* 数据库产品很多: MySQL、Oracle、SqlServer、DB2......
* 我们动力节点数据库课程包括:MySQL + Oracle
* Oracle:银行、政府使用oracle的较多。
* MySQL:互联网公司、一般企业使用MySQL较多。
* Oracle我们是提供视频的。课堂上不讲。
* 我们课堂上讲MySQL。
* Java语言链接数据库:JDBC
第三部分:WEB前端
* 系统结构:B/S【Browser/Server】 C/S【Client/Server】
* WEB是网站的意思。WEB前端是:网站当中的页面。
* WEB前端程序是运行在浏览器当中的。
* HTML5 + CSS3 + JavaScript(JS)
* WEB前端也有很多框架:
- jQuery
- Bootstrap
- Vue
- NodeJS
- AugularJS
- RectJS
- LayUI
- EasyUI
.....
第四部分:JavaWEB
* Servlet
* JSP
* AJAX(是JavaScript的一部分语法,专门做页面局部刷新)
第五部分:JavaWEB项目
* 做一个B/S结构的项目,将WEB前端和JavaWEB内容做一个整合练习。
* 其实到这里为止,所有的系统都可以做了。但是用的技术很Low。没有用框架。
稍微改了一下代码,继承JFrame,然后把Canvas放在里面就好了。
窗体大小通过setBounds来指定。
import java.awt.BorderLayout;
import java.awt.GraphicsConfiguration;
import javax.media.j3d.BranchGroup;
import javax.media.j3d.Canvas3D;
import javax.swing.JFrame;
import com.sun.j3d.utils.geometry.ColorCube;
import com.sun.j3d.utils.universe.SimpleUniverse;
public class 示例_ColorCube extends JFrame {
public 示例_ColorCube() {
getContentPane().setLayout(new BorderLayout());
GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration();
Canvas3D canvas = new Canvas3D(config);
getContentPane().add(canvas, BorderLayout.CENTER);
SimpleUniverse universe = new SimpleUniverse(canvas); // 创建虚拟宇宙
BranchGroup group = new BranchGroup(); // 创建组
ColorCube cube = new ColorCube(0.3); // 创建彩色立方
group.addChild(cube); // 组中加入彩色立方
universe.getViewingPlatform().setNominalViewingTransform(); // 设置观察点
universe.addBranchGraph(group); // 虚拟宇宙加入组
}
public static void main(String[] args) {
示例_ColorCube cube = new 示例_ColorCube();
cube.setBounds(10, 10, 600, 600); // 这里设置窗体大小
cube.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
cube.setVisible(true);
}
}