大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
给你一个小的实例代码:
专注于为中小企业提供成都网站设计、成都网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业靖边免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千多家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
import java.lang.reflect.Method;
import java.lang.reflect.InvocationTargetException;
public class test {
public static void main(String args[]) throws NoSuchMethodException,
IllegalAccessException, InvocationTargetException {
Foo foo = new Foo("这个一个Foo对象!");
Class clazz = foo.getClass();
Method m1 = clazz.getDeclaredMethod("outInfo");
Method m2 = clazz.getDeclaredMethod("setMsg", String.class);
Method m3 = clazz.getDeclaredMethod("getMsg");
m1.invoke(foo);
m2.invoke(foo, "重新设置msg信息!");
String msg = (String) m3.invoke(foo);
System.out.println(msg);
}
}
class Foo {
private String msg;
public Foo(String msg) {
this.msg = msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public String getMsg() {
return msg;
}
public void outInfo() {
System.out.println("这是测试Java反射的测试类");
}
}
./ 当前目录。
../ 父级目录。
/ 根目录。
人"类"就是一个类如People,里面有很多人类的属性,比如身高,性别,三围,年龄,等等 。
那么对象呢? 对象可以根据类产生出来,所以叫万事万物皆对象 。
比如你我他,都是一个具体的由人"类"产生出来的一个对象,那么你也会有这些属性如身高,性别3围,年龄啥的。
多用面向对象(OO)的思想去想你遇到的程序问题,或者分析现实中的事物吧。
电脑中的子目录很好理解,例如:
1、C:\是父目录,C:\Windows就是C:\的子目录。
2、C:\Windows\System32\就是C:\Windows的子目录。
类是一个抽象的概念,而对象是类抽象概念的实物表达,打个比方,比如水果摊进了一批水果(就好比是类),然后我就去问卖家有哪些新鲜的水果。
店家说有苹果、梨、桃等等(这里的苹果、梨、桃就是对象),也就是说对象是类的具体表达,
而类则是对象的抽象表达。
public class Number {
private int n1;
private int n2;
public Number(){}
public Number(int n1, int n2) {
this.n1 = n1;
this.n2 = n2;
}
public int getN1() {
return n1;
}
public void setN1(int n1) {
this.n1 = n1;
}
public int getN2() {
return n2;
}
public void setN2(int n2) {
this.n2 = n2;
}
/**
* 加方法
* @return
*/
public static int addition(Number n){
int i=0;
i=n.getN1()+n.getN2();
return i;
}
public static int subtration(Number n){
int i=0;
i=n.getN1()-n.getN2();
return i;
}
public static int multiplication(Number n){
int i=0;
i=n.getN1()*n.getN2();
return i;
}
public static double division(Number n){
double i=0;
if(n.getN1()!=0){
i=n.getN1()/n.getN2();
}else{
System.out.println("被除数不可以为0");
}
return i;
}
}
public class test {
public static void main(String[] args) {
Number n=new Number(10,5);
System.out.println("加法:"+Number.addition(n));
System.out.println("减法:"+Number.subtration(n));
System.out.println("乘法:"+Number.multiplication(n));
System.out.println("除法:"+Number.division(n));
}
}
先建立个Game包
然后我做的是分了5个类来做的
TestStartGuess 类
package com.game.guess;
public class TestStartGuess {
/**
* 人机互动版猜拳游戏
* 程序入口
*/
public static void main(String[] args) {
Game game=new Game();
game.initial();
game.startGame();
}
}
2.Person 类
package com.game.guess;
import java.util.Scanner;
/**
* 用户类
*阶段1完成
* @param Scanner
*/
public class Person {
String name ="匿名";//名字
int score =0;//积分
/**
* 出拳
*@return出拳结果:1.剪刀 2.石头 3.布
*/
public int showFist(){
//接收用户的选择
Scanner input =new Scanner(System.in);
System.out.print("\n请出拳:1.剪刀 2.石头 3.布 (输入相应数字):");
int show=input.nextInt();
//输出出拳结果,并返回
switch(show){
case 1:
System.out.println("你出拳:剪刀");
break;
case 2:
System.out.println("你出拳:石头");
break;
case 3:
System.out.println("你出拳:布");
break;
}
return show;
}
}
3.Computer 类
package com.game.guess;
/**
*计算机类
*阶段2完成
*/
public class Computer{
String name="电脑";//名字
int score = 0;;//积分
/**
*出拳
*@return 出拳结果:1.剪刀 2.石头 3.布
*/
public int showFist(){
//产生随机数
int show =(int)(Math.random()*10)%3+1;//产生随机数,表示电脑出拳
//输出出拳结果并返回
switch(show){
case 1:
System.out.println(name+"你出拳:剪刀");
break;
case 2:
System.out.println(name+"你出拳:石头");
break;
case 3:
System.out.println(name+"你出拳:布");
break;
}
return show;
}
}
4.Game 类
package com.game.guess;
import java.util.Scanner;
/**
* 游戏类类完全版
* 阶段7:功能扩展
* @param computer
*
*/
public class Gamecomputer {
Person person; //甲方
Computer computer; //乙方
int count;//对战次数
/**
* 初始化
*/
public void initial(){
person=new Person();
computer=new Computer();
count=0;
}
/**
* 开始游戏
*/
@SuppressWarnings("resource")
public void startGame(){
System.out.println("-------欢迎进入游戏世界-------\n");
System.out.println("\n\t\t***************");
System.out.println("\t\t**猜拳,开始 **");
System.out.println("\t\t***************");
System.out.println("\n\n出拳规则:1.剪刀,2.石头,3.布");
Scanner input=new Scanner(System.in);
String exit="n"; //退出系统
do{
initial();//初始化
/*选择对方角色*/
System.out.print("请选择对方角色:(1:刘备,2:孙权,3:曹操):");
int role=input.nextInt();
if(role==1){
computer.name="刘备";
}else if(role==2){
computer.name="孙权";
}else if(role==3){
computer.name="曹操";
}
//扩展功能1:输入用户姓名
/*输入用户姓名*/
System.out.print("请输入你的姓名:");
person.name=input.next();
System.out.println(person.name+"VS"+computer.name+"对战\n");
//扩展功能1结束
System.out.print("要开始吗?(y/n)");
String start=input.next();//开始每一局游戏
int perFist; //用户出的拳
int compFist; //计算机出的拳
while(start.equals("y")){
/*出拳*/
perFist=person.showFist();
compFist=computer.showFist();
/*裁决*/
if((perFist==1compFist==1)||(perFist==2compFist==2)||(perFist==3compFist==3)){
System.out.println("结果:和局,真衰!嘿嘿,等着瞧吧!\n"); //平局
}else if((perFist==1compFist==3)||(perFist==2compFist==1)||(perFist==3compFist==2)){
System.out.println("结果:恭喜,你赢了!"); //用户赢
person.score++;
}else{
System.out.println("结果说:^_^,你输了,真笨!\n"); //计算机赢
computer.score++;
}
count++;
System.out.println("\n是否开始下一轮(y/n):");
start=input.next();
}
/*显示结果*/
showResult();
//扩展功能3:循环游戏,知道退出系统
System.out.print("\n要开始下一局吗?(y/n):");
exit=input.next();
System.out.println();
//扩展功能3结束
}while(!exit.equals("n"));
System.out.println("系统退出!");
}
/**
* 显示比赛结果
*/
public void showResult(){
/*显示对战次数*/
System.out.println("-------------------------------");
System.out.println(computer.name+"VS"+person.name);
System.out.println("对战次数:"+count);
//扩展功能2:显示最终的得分
System.out.println("\n姓名\t得分");
System.out.println(person.name+"\t"+person.score);
System.out.println(computer.name+"\t"+computer.score+"\n");
//扩展功能2结束
/*显示对战结果*/
int result=calcResult();
if(result==1){
System.out.println("结果:打成平手,下次再和你一分高下!");
}else if(result==2){
System.out.println("结果:恭喜恭喜!"); //用户获胜
}else{
System.out.println("结果:呵呵,笨笨,下次加油啊!"); //计算机获胜
}
System.out.println("--------------------------------");
}
/**
* 计算比赛结果
* @return1:战平; 2:用户赢; 3:电脑赢
*/
public int calcResult(){
if(person.score==computer.score){
return 1;//战平
}else if(person.scorecomputer.score){
return 2;//用户赢
}else{
return 3;//电脑赢
}
}
}
5.Start 类
package com.game.guess;
public class StartGuess {
public static void main (String[] args){
Game c = new Game();
c.initial();
c.startGame();
}
}
然后编译执行就OK了
希望能帮到你