本实验基于前期刚接触java的人群来说是一个比较好的锻炼机会,此次实验的内容分为3个内容(三个题),前提是大家需要对java中的类具有些许的了解,以及具有一定的定义类的能力!
接下来,我们介绍java的编程软件,本人用的系统是windows10系统,java编程软件是Myeclipse这需要注册,如果注册有问题,大家先实现可以用eclipse这不需要注册!!!
随后,我们开始进入今天的正题,那就是三道题的解答!!
其实在此之前我对这三道题题意的理解具有一定的奇异(第二题除外)
第一题:
理解目的:首先我们需要定义一个静态变量,计算人数,那么小朋友具有哪些特点?自然而然想到:他的年龄以及名字,于是开启一下定义和代码,代码如下:
package Test;
class Children{
String name;
int age;
static int count;//定义小朋友初始人数为2;
public Children(int age,String name){
this.age=age;
this.name=name;
}//输入小朋友年龄和姓名表示要加入游戏
public void jryx(){
System.out.println("有1位小朋友加入啦!");//有小朋友加入
count++;
}
}
public class sy71 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Children.count=2;
Children s1=new Children(5,"晴晴");
Children s2=new Children(8,"欢欢");
Children s3=new Children(6,"贝贝");
s1.jryx();
s2.jryx();
s3.jryx();
System.out.println("目前参加游戏的总人数为:"+Children.count);
}
}
下面让我们开始简略地讲解代码:
首先我们现在头部定义出,需要我们定义的类Class!随后,我们开始定义Class内的变量,也就是年龄和name啦!同时,不要忘记定义方法,在这里我定义了2个方法,一个是Children,另一个是jryx,一个用于记录小朋友的年龄和名字,另一个用于记录人数!
接下来就是实验结果啦!
代码显示有三位小朋友加入:
最终结果为:
好啦!我们第一个实验讲完啦!后面几个实验就简略地带过啦!
第二题:
是一道实现温度转换的题,我在此道题的基础上,加大了他的难度,既要实现摄氏度转化为华氏度,又要实现华氏度转化为摄氏度。
实验代码如下:
package Test;
import java.util.Scanner;
class wenduzhuanhua{
double ssd;
double hsd;
public void getFahrenheit(double ssd){
this.ssd=ssd;
hsd=1.8*ssd+32;
}
public void getCentigrade(double hsd){
this.hsd=hsd;
ssd=(double)(hsd-32)/1.8;
}
}
public class sy72 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scanner=new Scanner(System.in);
double sheshidu;
double huashidu;
int i;
wenduzhuanhua wdzh=new wenduzhuanhua();
System.out.println("请输入i(0为摄氏度转华氏度,1为华氏度转摄氏度):");
i=scanner.nextInt();
if(i==0){
System.out.println("请输入摄氏度:");
sheshidu=scanner.nextDouble();
wdzh.getFahrenheit(sheshidu);
System.out.println(sheshidu+"摄氏度转华氏度的结果为:"+wdzh.hsd+"华氏度");
}else{
System.out.println("请输入华氏度:");
huashidu=scanner.nextDouble();
wdzh.getCentigrade(huashidu);
System.out.println(huashidu+"华氏度转摄氏度的结果为:"+wdzh.ssd+"摄氏度");
}
}
}
在此段代码中需要实现选择模式:0为将摄氏度转化为华氏度,1为将华氏度转化为摄氏度。代码中也定义了两个不同的方法!
实验结果如下:
这样实验二也完成啦!
接下来开始第三个实验!
第三题:
第三题是一道比较繁琐的题!对于不少人来说,题目比较难以理解,他的要求一定要看清!
在这里我建了两个java文件,一个用于建立Class,另一个用于调用,在这里需要用get()和set(),这里有一个笨方法和一个快捷的方法来建立get()和set()函数,你们可以自己选哦!
sy74用于建立Class;sy741用于调用。
下面先插入代码:
sy74中的代码:
package Test;
class Wallet{
String xyk;
int sfk;
int yhk;
int xj;
public int getSfk() {
return sfk;
}
public void setSfk(int sfk) {
this.sfk = sfk;
}
private String getXyk() {
return xyk;
}
private void setXyk(String xyk) {
this.xyk = xyk;
}
private int getYhk() {
return yhk;
}
private void setYhk(int yhk) {
this.yhk = yhk;
}
private int getXj() {
return xj;
}
private void setXj(int xj) {
this.xj = xj;
}
public Wallet(String xyk,int sfk,int yhk,int xj){
this.xyk=xyk;
this.sfk=sfk;
this.yhk=yhk;
this.xj=xj;
}
public void cx(String xyk){
System.out.println("校园卡为"+this.xyk);
System.out.println("身份证为"+this.sfk);
System.out.println("银行卡为"+this.yhk);
System.out.println("现金为"+this.xj);
}
}
sy741中的代码:
package Test;
public class sy741 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Wallet wallet1=new Wallet("hh1",123,124,1000);
Wallet wallet2=new Wallet("hjw",19,34,10000);
Wallet wallet3=new Wallet("lch",20,35,10);
wallet2.cx("hjw");
}
}
下面先介绍笨方法,所谓笨方法就是老老实实敲代码!聪明人自然会选择快捷的方法:
我们选中自己定义的变量如图:
之后我们鼠标右键,往中间看,看到Sourse了吗?将鼠标移到上面(也可以使用快捷键Alt+shift+S)随后我们选择Generate Getters and Setters点击后他就会自动生成get()和set()!
这样实验三就完成了!
我完成的是通过查询校园卡,来抄找他的其他信息(题目中所说的访问私有变量)
实验结果如下:
我们定义了以下数据:
在sy741代码中可以找到哦!
我们查找hjw的数据!!!
好啦!今天就讲到这啦!大家加油!