java创建一个图形类getv_java建立类和对象分糖果
发布日期:2021-06-24 12:10:26 浏览次数:3 分类:技术文章

本文共 1226 字,大约阅读时间需要 4 分钟。

10个小孩围成一圈分糖果,老师分给第一个小孩10块,第二个小孩2块,第三个小孩8块,第四个小孩22块,第五个小孩16块,第六个小孩4块,第七个小孩10块,第八个小孩6块,第九个小孩14块,第十个小孩20块。然后所有的小孩同时将手中的糖果分一半给左边的小孩;糖块为奇数的人可向老师要一块。问经过这样几次后,大家手中的糖的块数将一样多?每人各有多少块糖?

Input

多组数据,每组数据为10正整数,分别为游戏开始时,每个小孩手中的糖果数。

Output

游戏结束后,游戏的次数及每人的中的糖果数。

Sample Input

10 2 8 22 16 4 10 6 14 20

Sample Output

17 18

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

Scanner in=new Scanner(System.in); //创建输入对象

while(in.hasNextInt())

{

int child[]=new int[20]; //定义一个数组

for(int i=0;i<10;i++)

{

child[i]=in.nextInt();

}

Child dc=new Child(child, 0); //创建一个新类

while(dc.judg()==false)

{

dc.divid();

}

dc.output();

}

in.close();

}

}

class Child

{

private int num[]; //私有域

private int count=0;

public Child(int child[], int count) //构造器

{

num=child;

this.count=count;

this.sum=sum;

}

public void divid() //从右到左分糖果

{

count++; //计数器

int m=num[0];

for(int i=0;i<9;i++)

{

num[i]=num[i]/2+num[i+1]/2;

}

num[9]=num[9]/2+m/2; //第1个小孩分给第10个小孩

for(int i=0;i<10;i++) //判断小孩手中的糖是否为奇数

{

if(num[i]%2==1)

num[i]++;

}

}

public boolean judg() //判断小孩手中的糖是否相等

{

for(int i=0;i<9;i++)

{

if(num[i]!=num[i+1])

return false;

}

return true;

}

public void output()

{

System.out.print(count);

System.out.print(" "+num[0]+" ");

}

}

转载地址:https://blog.csdn.net/weixin_32661831/article/details/114719040 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:java 新增注解_java annotation(如何创建新的注解)小结
下一篇:java用cmd编译access数据库_java直接存取MS Access的mdb数据库文件

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2024年04月25日 03时36分33秒