
正文
用Java编写丢手绢代码 用java编写丢手绢代码程序
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
java 编程题目 数组模拟链表 如何删除节点
给用Java编写丢手绢代码你一段可以跑到代码 链表完成 约瑟夫问题
/**
* 功能用Java编写丢手绢代码:josephu问题(丢手绢)
* 目的:面向对象编程思想
*/
public class Josephu {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
CycLink cycLink = new CycLink();
cycLink.setLen(9);
cycLink.setK(2);
cycLink.setM(5);
cycLink.creatLink();
cycLink.play();
}
}
/**
* 小孩类
* @author tenglian
*/
class Child{
int no;
Child nextChild; //指向下一个小孩
Child previousChild; //指向上一个小孩
public Child(int no){
this.no = no;
}
}
/**
* 环形链表类
*/
class CycLink{
int len = 0;//小孩的总数
Child firstChild = null;
Child temp = null;
//从第几个小孩开始
int k;
//数到第几个小孩
int m;
//创建环形链表用Java编写丢手绢代码,让小孩围坐一圈
public void creatLink(){
for(int i = 1; i = len; i++){
//如果是第一个小孩 将第一个小孩锁定
if(i == 1){
Child ch = new Child(i);
firstChild = ch;
temp = ch;
} else {
//如果这是最后一个小孩
if(i == len){
Child ch = new Child(i);
temp.nextChild = ch;
temp = ch;
temp.nextChild = this.firstChild;
} else {
//否则继续创建小孩
Child ch = new Child(i);
temp.nextChild = ch;
temp = ch;
}
}
}
}
/**
* 开始play(玩丢手绢游戏)
*/
public void play(){
Child temp = null;//跑龙套1
Child temp2 = null;//跑龙套2
Child temp3 = null;//跑龙套3
//第一步,找到开始数数的小孩——k
temp = this.firstChild;
for(int i = 1; i k; i ++){
temp = temp.nextChild;
}
//从第二步开始循环
while(len 0){
//第二步 找到数到m的小孩
for(int j = 1; j m; j ++){
if(m - j == 1){
temp3 = temp;
}
temp2 = temp.nextChild;
temp = temp2;
}
//第三步,让数到m的小孩出圈
temp3.nextChild = temp2.nextChild;
temp = temp2.nextChild;
len--;
System.out.print(temp2.no + " ");
}
}
public void setLen(int len){
this.len = len;
}
public void setK(int k) {
this.k = k;
}
public void setM(int m) {
this.m = m;
}
}
相关问答
Q1: java写一个自动程序开始先怎么写
使用Eclipse编写自己的第一个Java代码。
编写如下:
1、首先打开自己安装的Eclipse软件。
2、然后选择File-New-JavaProject。
3、然后找到工程打开,右击src选择-New-Class。
4、填入类名,选择下面的publicstaticvoidmain(String[]args)。
5、然后写入代码publicclassDemo{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubSystem.out.println(HelloWorld)。
6、点击上面的运行按钮,点击确认,可以看到代码运行结果。
Q2: 根据以下任务要求,编写Java应用程序?
按照题目要求编写的Java程序如下
注意 请使用你的真实姓名和班级替换Test类中
创建Student对象stu时用的"张三"和"20计算机应用01班"
import java.util.Scanner;
class Student{
private String name,classname;
private int starnum,scorenum;
private int[] scores;
public void setStarNum(int n){
this.starnum=n;
}
public Student(String name,String classname,int scorenum){
this.name=name;
this.classname=classname;
this.scorenum=scorenum;
}
public String getName(){
return this.name;
}
public void printStar(){
for(int i=0;istarnum;i++){
for(int j=0;j2*i+1;j++){
System.out.print("*");
}
System.out.println();
}
}
public void setScore(){
Scanner sc=new Scanner(System.in);
scores=new int[scorenum];
System.out.print("请输入各科成绩:");
for(int i=0;iscorenum;i++){
scores[i]=sc.nextInt();
}
}
public void showInfo(){
System.out.print(name+"同学用Java编写丢手绢代码,你所在的班级是"+classname+"用Java编写丢手绢代码,你各科考试成绩分别为:");
for(int i=0;iscorenum;i++){
if(i==scorenum-1)
System.out.print(scores[i]);
else
System.out.print(scores[i]+"用Java编写丢手绢代码,");
}
System.out.println();
}
public float getAvg(){
float sum=0;
for(int i=0;iscorenum;i++){
sum=sum+scores[i];
}
return sum/scorenum;
}
}
public class Test{
public static void main(String[] args){
Student stu=new Student("张三","20计算机应用01班",5);
stu.setStarNum(4);
stu.printStar();
stu.setScore();
stu.showInfo();
if(stu.getAvg()60){
System.out.println(stu.getName()+"是不合格学生");
}else{
System.out.println(stu.getName()+"是个合格学生");
}
}
}
Q3: 求大神用Java编写出这个程序,要有具体代码,万分感激,定采纳
按照用Java编写丢手绢代码你用Java编写丢手绢代码的要求编写用Java编写丢手绢代码的JavaGUI程序如下用Java编写丢手绢代码:
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class HH extends JFrame implements ActionListener{
JPanel jp1=new JPanel();
JPanel jp2=new JPanel();
JPanel jp3=new JPanel();
JTextField jtf=new JTextField(20);
JButton jb1=new JButton("显示");
JButton jb2=new JButton("清除");
HH(){
jb1.addActionListener(this);
jb2.addActionListener(this);
jp1.setLayout(new GridLayout(2,1));
jp3.add(jtf);
jp2.add(jb1);jp2.add(jb2);
jp1.add(jp3);jp1.add(jp2);
getContentPane().add(jp1);
setSize(300, 120);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource()==jb1){
jtf.setText("java程序设计");
}
if(e.getSource()==jb2){
jtf.setText("");
}
}
public static void main(String[] args) {
new HH();
}
}
Q4: 求Java代码
使用循环结构,通过Scanner类从控制台输入每个人的捐款金额,并累加每个人的捐款金额,计算捐款总数和捐款人数,如果捐款总数达到10万元,则计算平均每人捐款金额。
下面是通过输入进行统计,实际过程中还能是通过数据库进行操作,或者表格收集数据进行导入关系数据库进行统计。还可以通过接入微信或者支付宝小程序收款实时统计。
已经有人给过随机数示例,这里给出前端输入的示例:
import java.util.Scanner;
public class CharityDonation { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int num = 0; // 捐款人数
int total = 0; // 募捐总数
int avg = 0; // 平均每人捐款金额
int donation; // 每个人的捐款金额
while (total 100000 num 1000) {
System.out.print("请输入第" + (num + 1) + "个人的捐款金额:");
donation = scanner.nextInt();
total += donation;
num++;
} if (total = 100000) {
avg = total / num;
System.out.println("捐款总数已达到10万元,捐款人数为" + num + ",平均每人捐款金额为" + avg + "元。");
} else {
System.out.println("征集慈善募捐失败,募捐总数未达到10万元。");
}
scanner.close();
}
}
Q5: java 丢手绢问题
进入for循环用Java编写丢手绢代码,执行int i =1用Java编写丢手绢代码; 这时的ik;执行
temp = temp.nextChild; 假设temp.nextChild=小红用Java编写丢手绢代码,小红的下一个是小明用Java编写丢手绢代码,小明的下一个是小强。完毕,在执行i++,这个时候i=2用Java编写丢手绢代码;完成一个循环。
第二次循环,i=2,i还是小于k,temp = temp.nextChild,这个时候的temp实际上已经是小红了,第二次循环到这里的时候,temp.nextChild是小明,总是指向下一个人。
关于用Java编写丢手绢代码和用java编写丢手绢代码程序的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。








