java 如何调用类中的函数
/***约瑟夫问题一般解*约瑟夫问题(有时也称为约瑟夫斯置换,是一个出现在计算机科学和数学中的问题。*在计算机编程的算法中,类似问题又称为约瑟夫环。又称“丢手绢问题”)*...
/**
* 约瑟夫问题一般解
* 约瑟夫问题(有时也称为约瑟夫斯置换,是一个出现在计算机科学和数学中的问题。
* 在计算机编程的算法中,类似问题又称为约瑟夫环。又称“丢手绢问题”)
*/
public class yuesefu{
public static void main(String[] args){
//people 数组 信息的录入(现在还不会)
System.out.println( "本程序的作用是将向您展示10个人的约瑟夫环");
people [] peoples;
peoples = new people [10];
for (int j=1;j<=10;j++){
peoples[j].shengsi=true;
peoples[j].peopleid=j;
}
//调用函数 进行运算
deathgame g = new deathgame();
g.gamebegin( peoples );
}
class people {
public String name;
public int peopleid;
public boolean shengsi;
public people( int peopleid, String name, boolean shengsi ) {
this. peopleid= peopleid;
this. name=name;
this. shengsi=shengsi;
}
//输出该people 名字
public void putoutname() {
System.out.println("这个人的名字是:"+name);
}
//获得该people 编号
public int getid(people a) {
return a.peopleid;
}
//修改 名字
public void setname(String n) {
name=n;
}
//修改 编号
public void setid(int n) {
peopleid=n;
}
//修改 存活情况
public void setname(people m , boolean n) {
m.shengsi=n;
}
}
// 约瑟夫回环运行 =>死亡游戏开始 本类中主本程序以people数组为输入,推算出存活的人,并输出这个人的信息
class deathgame(){
/*
people[] peoples;
int number;
people lastpeople;
public deathgame(int number,people[] peoples){
this.peoples=peoples;
this.number=number;
}
*/
public people gamebegin(people[] peoples){
//这里应注意步骤的表示
for (int i=0;i<peoples.length;i++){
peoples[i].shengsi = true;
}
int leftcount = peoples.length;
int index = 0;
int countnum = 0;
for( int m=1; m<=peoples.length; m++) {
if(peoples[m].shengsi==true)
System.out.print(peoples[m].peopleid +"\t");
}System.out.println();
while(leftcount>1){
if(peoples[index].shengsi==true){
countnum++;
if(countnum ==3){
countnum=0;
leftcount--;
peoples[index].shengsi = false;
}
for( int m=1; m<=peoples.length; m++) {
if(peoples[m].shengsi==true)
System.out.print(peoples[m].peopleid +"\t");
}System.out.println();
}
index++;
if(index == peoples.length){
index = 0;
}
}
for (int i=0;i<peoples.length;i++){
if(peoples[i].shengsi==true)
System.out.println("起初它的位置是"+i);
return peoples[i];
break;
}
}/*函数*/
}/*类*/ 展开
* 约瑟夫问题一般解
* 约瑟夫问题(有时也称为约瑟夫斯置换,是一个出现在计算机科学和数学中的问题。
* 在计算机编程的算法中,类似问题又称为约瑟夫环。又称“丢手绢问题”)
*/
public class yuesefu{
public static void main(String[] args){
//people 数组 信息的录入(现在还不会)
System.out.println( "本程序的作用是将向您展示10个人的约瑟夫环");
people [] peoples;
peoples = new people [10];
for (int j=1;j<=10;j++){
peoples[j].shengsi=true;
peoples[j].peopleid=j;
}
//调用函数 进行运算
deathgame g = new deathgame();
g.gamebegin( peoples );
}
class people {
public String name;
public int peopleid;
public boolean shengsi;
public people( int peopleid, String name, boolean shengsi ) {
this. peopleid= peopleid;
this. name=name;
this. shengsi=shengsi;
}
//输出该people 名字
public void putoutname() {
System.out.println("这个人的名字是:"+name);
}
//获得该people 编号
public int getid(people a) {
return a.peopleid;
}
//修改 名字
public void setname(String n) {
name=n;
}
//修改 编号
public void setid(int n) {
peopleid=n;
}
//修改 存活情况
public void setname(people m , boolean n) {
m.shengsi=n;
}
}
// 约瑟夫回环运行 =>死亡游戏开始 本类中主本程序以people数组为输入,推算出存活的人,并输出这个人的信息
class deathgame(){
/*
people[] peoples;
int number;
people lastpeople;
public deathgame(int number,people[] peoples){
this.peoples=peoples;
this.number=number;
}
*/
public people gamebegin(people[] peoples){
//这里应注意步骤的表示
for (int i=0;i<peoples.length;i++){
peoples[i].shengsi = true;
}
int leftcount = peoples.length;
int index = 0;
int countnum = 0;
for( int m=1; m<=peoples.length; m++) {
if(peoples[m].shengsi==true)
System.out.print(peoples[m].peopleid +"\t");
}System.out.println();
while(leftcount>1){
if(peoples[index].shengsi==true){
countnum++;
if(countnum ==3){
countnum=0;
leftcount--;
peoples[index].shengsi = false;
}
for( int m=1; m<=peoples.length; m++) {
if(peoples[m].shengsi==true)
System.out.print(peoples[m].peopleid +"\t");
}System.out.println();
}
index++;
if(index == peoples.length){
index = 0;
}
}
for (int i=0;i<peoples.length;i++){
if(peoples[i].shengsi==true)
System.out.println("起初它的位置是"+i);
return peoples[i];
break;
}
}/*函数*/
}/*类*/ 展开
2个回答
展开全部
所以你的问题是什么?
类中函数调用只需 Class class = new Class(); 然后 class.funciton();就可以了
静态函数则是直接实用类名加函数名 Class.function();
类中函数调用只需 Class class = new Class(); 然后 class.funciton();就可以了
静态函数则是直接实用类名加函数名 Class.function();
更多追问追答
追答
代码错很多,
1.错在class deathgame()类定义不需要括号,class deathgame就行
2.最后一个for循环不要写break,你已经return就退出了
3.gamebegin()这个函数最后要添加一个return否则函数有可能没有返回值
4.deathgame必须为静态类才能在main方法中调用static class deathgame详见:http://blog.csdn.net/sunny2038/article/details/6926079
建议你把People和Deathgame 拆分出来写,然后在Yuesefu中引用。另外书写要规范,类名应首字母应大写,然后采用驼峰命名将单词区分开。建议使用Eclipse,IntelliJ,NetBean这类开发工具帮助纠错。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询