把已有的java源代码放进eclipse里运行不了 通常会出现doesnot contain a main type

2024-12-21 09:36:05
推荐回答(4个)
回答1:

我自己写一个给你用吧。。。。你说的也不清楚。。。
1.新建一个类,不含main。命名Computer。
public class Computer {
public int score=0;
public int num;
public String name;

// 电脑出拳
public int showFist() {
num = (int)(Math.random() * 3+1);
boolean con = false;

if (num == 1) {
System.out.println("电脑出拳:剪刀");
num=1;

} else if (num == 2) {
System.out.println("电脑出拳:石头");

} else if (num == 3) {
System.out.println("电脑出拳:布");
}
return num;
}
}
2.新建一个类。不含main命名为Game

import java.util.Scanner;

public class Game {
public int count;// 对战次数
Person person;// 玩家
Computer computer;// 电脑
Scanner input; // 输入数字的类

// 初始化方法
public void ini() {
person = new Person();
computer = new Computer();
count = 0;
// input对象创建
input = new Scanner(System.in);
}

// 游戏开始
public void startGame() {
System.out.println("--------------------欢迎进入游戏世界--------------------");
System.out.println("\n\n\t\t******************");
System.out.println("\t\t** 猜拳,开始 **");
System.out.println("\t\t******************");
System.out.println("\n\n");
System.out.println("出拳规则: 1.剪刀 2.石头 3.布");

System.out.print("请输入你的姓名:");
person.name = input.next();
System.out.print("请选择角色(1:刘备 2:孙权 3:曹操)");

// 用于do while条件永真
boolean flag = false;
do {
// 接收输入的电脑角色号
int hao = input.nextInt();
if (hao == 1) {
computer.name = "刘备";
break;
} else if (hao == 2) {
computer.name = "孙权";
break;
} else if (hao == 3) {
computer.name = "曹操";
break;
} else {
flag = true;
System.out.print("输入错误,请重新输入:(1-3)");

}
} while (flag);

}

//
public void calcResult() {
boolean flag = true;

do {
System.out.print("\n要开始吗?(y/n)");
String start = input.next();
// if 游戏继续
if (start.equals("y")) {
flag = false;
// 执行猜拳
calcResult2();

//else if 游戏结束
} else if (start.equals("n")) {
flag = false;
// 显示结果
showResult();
}
} while (flag);
}

// 猜拳判断
public void calcResult2(){
// 游戏出拳是否开始的标志
boolean flag = true;

while (flag) {
// 调用玩家出拳方法
person.showFist();
// 调用电脑出拳的方法
computer.showFist();

// 平局的判断,电脑和玩家出的是一样的
if (person.num == computer.num) {
System.out.println("结果:和局,真衰!嘿嘿,等着瞧吧!");

/** 胜的判断,玩家出剪刀1,电脑出布3
* or 玩家出石头2,电脑出剪刀1
* or 玩家出布3,电脑出石头2
*/
} else if (person.num == 1 && computer.num == 3 || person.num == 2
&& computer.num == 1 || person.num == 3
&& computer.num == 2) {
person.score++;
System.out.println("结果:恭喜,你赢了!");

// 剩下的条件就是输的结果
} else {
computer.score++;
System.out.println("结果:^-^,你输了,真笨!");
}
count++;

// 是否进入下一轮提示符,输入是否正确的标志,如果输入的不是y和n就一直循环
boolean con = true;
do {
System.out.print("\n是否开始下一轮(y/n):");
String start = input.next();
if (start.equals("y")) {
con = false;
flag = true;
} else if (start.equals("n")) {
flag = false;
con = false;
} else {
con = true;
System.out.print("输入错误,请重新输入:");
}
} while (con);
}
// 显示最终的对战结果
showResult();
}

// 显示对战结果
public void showResult() {
System.out
.println("\n---------------------------------------------------------");
System.out.println(computer.name + "\tVS\t" + person.name);
System.out.println("对战次数:" + count);
System.out.println("您的成绩:\t" + "胜:" + person.score + "\t平:"
+ (count - person.score - computer.score) + "\t负:"
+ computer.score);

if (person.score == computer.score) {
System.out.println("结果:打成平手,下次再和你一分高下!");
} else if (person.score > computer.score) {
System.out.println("结果:恭喜恭喜!");
} else {
System.out.println("结果:呵呵,笨笨,下次加油啊!");
}
System.out
.println("---------------------------------------------------------");
}

}
3.建立一个类Person。不含main。。

import java.util.Scanner;

public class Person {
public String name;
public int score=0;
public int num;

// 玩家出拳
public int showFist() {
boolean con = false;
do {
Scanner input = new Scanner(System.in);
System.out.print("\n请出拳:1.剪刀 2.石头 3.布(输入相应数字):");
num = input.nextInt();
if (num == 1) {
System.out.println("你出拳:剪刀");
break;
} else if (num == 2) {
System.out.println("你出拳:石头");
break;
} else if (num == 3) {
System.out.println("你出拳:布");
break;
} else {
System.out.println("错误,请重新输入!");
con = true;
}
} while (con);

return num;
}

}
4建立一个类,main选项点选。。命名为GamePlay。。。
// 游戏测试类
public class GamePlay {
public static void main(String[] args) {
// 创建游戏对象
Game game =new Game();
// 调用初始化方法
game.ini();
// 开始游戏
game.startGame();
// 人机对战
game.calcResult();
}
}
用myeclipse 直接点运行按钮 就进行游戏了。。。。

回答2:

本身就没有main 方法,那就说明他本身就是运行不了的。。
你必须自己写一个Main方法来调用

回答3:

这只是一个方法,没有需要定义一个主类,然后把方法实例化就好了

回答4:

缺少main()函数,那肯定是不能运行的了!!