ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java教学周第二周:课程中及课后实验性问题整理文档

2022-09-12 11:33:52  阅读:191  来源: 互联网

标签:Java String System number 课后 println rm 中及 out


对于教学周第一周的java课上的进行的宿舍管理系统,本次课上进行了分解;第一次分解:数据类和定义业务逻辑的主类
。第二次分解:执行类和其中各功能对应的方法。第三次分解:主界面方法,以及各功能方法的分解。java程序通常经历五个阶段:
编辑,编译,装入,校验,执行。
EnumTest.java的源码及补码与运行:
package demo09;

public class RoomInformation {
private String roomno;//宿舍号:最长八位,例如:9#502表示9栋502宿舍
private String stuno1,stuno2,stuno3,stuno4;//学生学号(长度8位)
private int hygienescore=0;//宿舍的卫生评分,初始值为0,范围0-100

public RoomInformation(String roomno, String stuno1, String stuno2, String stuno3, String stuno4, int hygienescore) {
this.roomno = roomno;
this.stuno1 = stuno1;
this.stuno2 = stuno2;
this.stuno3 = stuno3;
this.stuno4 = stuno4;
this.hygienescore = hygienescore;
}

public String getRoomno() {
return roomno;
}

public void setRoomno(String roomno) {
this.roomno = roomno;
}

public String getStuno1() {
return stuno1;
}

public void setStuno1(String stuno1) {
this.stuno1 = stuno1;
}

public String getStuno2() {
return stuno2;
}

public void setStuno2(String stuno2) {
this.stuno2 = stuno2;
}

public String getStuno3() {
return stuno3;
}

public void setStuno3(String stuno3) {
this.stuno3 = stuno3;
}

public String getStuno4() {
return stuno4;
}

public void setStuno4(String stuno4) {
this.stuno4 = stuno4;
}

public int getHygienescore() {
return hygienescore;
}

public void setHygienescore(int hygienescore) {
this.hygienescore = hygienescore;
}
}

 

 


package demo09;

import java.util.Scanner;

public class Demo09 {
RoomManagement b = new RoomManagement();
//因为main函数定义时加入了static,静态函数不能调用非静态的东西,所以定义数组时要加上static
static RoomInformation[] si = new RoomInformation[10];
public static void main(String[] args) {
//十个宿舍的信息
si[0] = new RoomInformation("9#505", "", "", "", "", 0);
si[1] = new RoomInformation("9#506", "", "", "", "", 0);
si[2] = new RoomInformation("9#507", "", "", "", "", 0);
si[3] = new RoomInformation("9#508", "20215555", "", "20215556", "20215557", 90);
si[4] = new RoomInformation("9#509", "20213655", "20215558", "", "20215559", 80);
si[5] = new RoomInformation("9#510", "20218888", "20219999", "", "", 70);
si[6] = new RoomInformation("9#511", "20217777", "20217778", "2021779", "20217780", 60);
si[7] = new RoomInformation("9#512", "20217781", "20217782", "20217783", "20217784", 50);
si[8] = new RoomInformation("9#513", "20217785", "20217786", "20217787", "20217788", 70);
si[9] = new RoomInformation("9#515", "20213961", "20213969", "20213971", "20213972", 80);
show();
Scanner sc = new Scanner(System.in);
System.out.println("请输入功能序号:");
int a = sc.nextInt();
boolean judge = true;
while (judge) {
switch (a) {
case 1:
Demo09.roomChaxun(si);
break;
case 2:
Demo09.anpaiRoom(si);
break;
case 3:
Demo09.tiaozhengRoom(si);
break;
case 4:
Demo09.pingjiaWeisheng(si);
break;
case 5:
Demo09.weishengChaxun(si);
default:
System.out.println("该选项不存在,请重新输出!");
show();
break;
}
System.out.println("请输入功能序号:");
a = sc.nextInt();
}
}

 

 

public static void show()
{
System.out.println("***********************************************************石家庄铁道大学\n" +
"学生公寓管理系统v2022\n" +
"***********************************************************\n" +
"1、宿舍查询\n" +
"2、安排新宿舍\n" +
"3、调整宿舍\n" +
"4、宿舍卫生评价\n" +
"5、卫生检查情况查询\n" +
"**********************************************************\n");
}
public static void roomChaxun(RoomInformation rm[])
{
System.out.println("***********************************************************石家庄铁道大学\n" +
"学生公寓管理系统v2022\n" +
"***********************************************************\n" +
"宿舍详细信息列表");
for (int i = 0; i <rm.length ; i++) {
int number=0;
String s="";
if(rm[i].getStuno1()!="")
{number++;}
if(rm[i].getStuno2()!="")
{number++;}
if(rm[i].getStuno3()!="")
{number++;}
if(rm[i].getStuno4()!="")
{number++;}
if(number==0)
{s="空宿舍";}
else if(number==1)
{s="空3人";}
else if(number==2)
{s="空2人";}
else if(number==3)
{s="空1人";}
else if(number==4)
{s="已满";}
System.out.println(i+1+"、"+rm[i].getRoomno()+"\t"+number+"人"+"\t"+s);
}
System.out.println("**********************************************************");
}

public static void anpaiRoom(RoomInformation rm[])
{
System.out.println("***********************************************************石家庄铁道大学\n" +
"学生公寓管理系统v2022\n" +
"安排新宿舍\n" +
"***********************************************************\n" +
"空宿舍详细信息列表");
for (int i = 0; i < rm.length; i++) {
int number=0;
String s="";
if(rm[i].getStuno1()!="")
{number++;}
if(rm[i].getStuno2()!="")
{number++;}
if(rm[i].getStuno3()!="")
{number++;}
if(rm[i].getStuno4()!="")
{number++;}
if(number==0)
{s="空宿舍";}
else if(number==1)
{s="空3人";}
else if(number==2)
{s="空2人";}
else if(number==3)
{s="空1人";}
else if(number==4)
{s="已满";}
if(number==0)
System.out.println(i-3+"、"+rm[i].getRoomno()+"\t"+number+"人"+"\t"+s);
}
System.out.println("请输入新宿舍号:");
System.out.println("**********************************************************");
Scanner sc=new Scanner(System.in);
String roomnumber="";
roomnumber=sc.nextLine();

while(true) {
System.out.println("***********************************************************石家庄铁道大学\n" +
"学生公寓管理系统v2022\n" +
"安排新宿舍\n" +
"***********************************************************\n");
System.out.println("新宿舍号:" + roomnumber);
System.out.println("1、床位1:XXXXX(学号1)\n" +
"2、床位2:XXXXX(学号2)\n" +
"3、床位3:XXXXX(学号3)\n" +
"4、床位4:XXXXX(学号4)\n" +
"**********************************************************");
Scanner sc1 = new Scanner(System.in);
String stunno11 = sc1.nextLine();
String stunno22 = sc1.nextLine();
String stunno33 = sc1.nextLine();
String stunno44 = sc1.nextLine();
String ab="";
if(ab=="END")
{break;}
if (stunno44 != "") {
System.out.println("该宿舍已满");
break;
}

}


}


public static void tiaozhengRoom(RoomInformation rm[])
{
System.out.println("***********************************************************石家庄铁道大学\n" +
"学生公寓管理系统v2022\n" +
"调整宿舍\n" +
"***********************************************************\n" +
"有空床位宿舍详细信息列表");
for (int i = 0; i < rm.length; i++) {
int number=0;
String s="";
if(rm[i].getStuno1()!="")
{number++;}
if(rm[i].getStuno2()!="")
{number++;}
if(rm[i].getStuno3()!="")
{number++;}
if(rm[i].getStuno4()!="")
{number++;}
if(number==0)
{s="空宿舍";}
else if(number==1)
{s="空3人";}
else if(number==2)
{s="空2人";}
else if(number==3)
{s="空1人";}
else if(number==4)
{s="已满";}
if(number==1||number==2||number==3)
{ System.out.println(i-3+"、"+rm[i].getRoomno()+"\t"+number+"人"+"\t"+s);}
}
System.out.println("请输入待调整宿舍号:XXXXX\n" +
"**********************************************************");
Scanner sc=new Scanner(System.in);
String newroom=sc.nextLine();

}

public static void pingjiaWeisheng(RoomInformation rm[])
{
System.out.println("***********************************************************石家庄铁道大学\n" +
"学生公寓管理系统v2022\n" +
"宿舍卫生宿舍\n" +
"***********************************************************\n" +
"请输入待评价宿舍号:XXXXX\n" +
"**********************************************************");
Scanner sc=new Scanner(System.in);
String number=sc.next();

int i;
for(i=0;i<5;i++)
{

if (rm[i].getRoomno().equals(number))
{
while (true)
{
System.out.println("***********************************************************石家庄铁道大学\n" +
"学生公寓管理系统v2022\n" +
"宿舍卫生评价\n" +
"***********************************************************");
System.out.println("宿舍号:"+rm[i].getRoomno());
System.out.println("1、床位1:"+rm[i].getStuno1());
System.out.println("2、床位2:"+rm[i].getStuno2());
System.out.println("3、床位3:"+rm[i].getStuno3());
System.out.println("4、床位4:"+rm[i].getStuno4());
System.out.println("输入宿舍卫生评价分数:");
System.out.println("**********************************************************");
Scanner sc1=new Scanner(System.in);
int score=sc1.nextInt();
if(score<0||score>100)
{
System.out.println("输入错误");
continue;
}
else
{
break;}
}
}
}

}

public static void weishengChaxun(RoomInformation rm[])
{
System.out.println("***********************************************************石家庄铁道大学\n" +
"学生公寓管理系统v2022\n" +
"卫生检查情况查询\n" +
"***********************************************************");
for (int i = 0; i < rm.length; i++) {
String qk="";
if(rm[i].getHygienescore()>=90)
{qk="优秀";}
else if(rm[i].getHygienescore()>=80&&rm[i].getHygienescore()<90)
{qk="良好";}
else if(rm[i].getHygienescore()>=60&&rm[i].getHygienescore()<80)
{qk="合格";}
else if(rm[i].getHygienescore()<60)
{qk="不合格";}

System.out.println(i+1+"、"+rm[i].getRoomno()+"\t"+rm[i].getHygienescore()+"\t"+qk);

}

}
}

 运行结果截图

 

 

 

 

枚举是一个被命名的整型常数的集合,用于声明一组带标识符的常数。枚举在曰常生活中很常见,例如一个人的性别只能是“男”或者“女”,一周的星期只能是 7 天中的一个等。类似这种当一个变量有几种固定可能的取值时,就可以将它定义为枚举类型。

Java 枚举类使用 enum 关键字来定义,各个常量使用逗号 , 来分割,结尾使用分号;结束

enum 定义的枚举类默认继承了 java.lang.Enum 类,并实现了 java.lang.Serializable 和 java.lang.Comparable 两个接口。

values(), ordinal() 和 valueOf() 方法位于 java.lang.Enum 类中:

values() 返回枚举类中所有的值。
ordinal()方法可以找到每个枚举常量的索引,就像数组索引一样。
valueOf()方法返回指定字符串值的枚举常量。

 

 反码补码原码三者的概念的区别:

原码就是一个数的二进制表达。其中对于有符号数,其最高位为符号位,正数为0,负数为1。

对于正数(或无符号数),原码补码反码三者相同。

对于负数,反码是将原码除了符号位外的每一位数取反,0换为1,1换为0;补码是反码+1。

需要注意的是,数据在内存中的存储是以补码的形式进行的,计算的时候也是用补码计算。

原码、补码、反码三者的正数部分都是一样的

原码八位中,除去符号位,后面的部分对应相等。

反码在负数这一部分,就是将原码负数部分,除符号位外,按位取反
由于-0和+0的存在,会影响正常的加减法操作,所以将二者合二为一。

再将反码负数部分每个数都加1,就得到了补码。计算机中数值计算都是以补码形式进行的,它有效解决了负数加法的问题

在计算机当中都是使用补码来进行计算和存储的。补码很好的解决了反码负数不能跨零计算的弊端,并且补码还可以记录一个特殊的值-128,这个数据在1个字节下是没有原码和反码

学习了原码、反码和补码的知识之后,我们就可以了解到,Java当中所有的基本数据类型。比如整数类型的数据类型,存储的数都是同样的,区别是在于什么地方,假设存储的值都是10

 

标签:Java,String,System,number,课后,println,rm,中及,out
来源: https://www.cnblogs.com/xlm926/p/16685771.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有