2021-05-21

分组交换技术 ARPAnet 因特网的起源
因特网的核心部分要向网络边缘中的主机提供连通性,使边缘部分中的任何一个主机都能够与其他主机通信(即传送或接受各种形式的数据)。
路由器是实现分组交换的关键构件,其任务是转发收到的分组,这是网络核心部分最重要的功能。

Java初学者练习题
一、Java基础练习题

1、下载JDK,并安装,然后配置环境变量path以及classpath,编写HelloWorld程序输出以下学生信息:

2、学号,姓名,年龄,性别,家庭住址等。

3、建议初学者,针对如上练习多写一遍。

下载JDK,并安装,然后配置环境变量path以及classpath,编写HelloWorld程序输出以下学生信息:学号,姓名,年龄,性别,家庭住址等。

public class HelloWorld {
public static void main(String[] args) {
System.out.println(“学号 = 100000”);
System.out.println(“姓名 = 动力节点”);
System.out.println(“年龄 = 9”);
System.out.println(“性别 = 男”);
System.out.println(“住址 = 北京大兴经济技术开发区大族企业湾10号楼A座”);
}
}
二、Java标识符与关键字练习题
● 熟记标识符的命名规则和规范。

● 分析以下单词哪些是合法的标识符,哪些不合法:

1、myName,字,My_name,Points,$points,_sys_ta,OK,_23b,3

2、3(合法)

3、_23b(合法)

4、OK(合法)

5、_sys_ta(合法)

6、$points(合法)

7、Points(合法)

8、My_name(合法)

9、字(合法)

10、myName(合法)

11、#name,25name,class,&time,if,Hello World

12、Hello World(不合法:标识符不能含有空格)

13、if(不合法:关键字不能做标识符)

14、&time(不合法:标识符不能有&)

15、class(不合法:关键字不能做标识符)

16、25name(不合法:标识符不能以数字开始)

17、#name(不合法:标识符不能有#)

三、 Java变量练习题
查阅相关资料,使用Java中的八种基本数据类型完成变量的声明,给每一个变量赋值,并且重新赋值,并将所有变量输出到控制台。

public class Chapter02 {
public static void main(String[] args) {
byte b = 127;
short s = 32767;
int i = 2147483647;
long l = 900L;
float f = 3.4f;
double d = 3.14;
boolean b1 = true;
char c = ‘a’;

	System.out.println(b);
	System.out.println(s);
	System.out.println(i);
	System.out.println(l);
	System.out.println(f);
	System.out.println(d);
	System.out.println(b1);
	System.out.println(c);
	
	b = 1;
	s = 1;
	i = 1;
	l = 1L;
	f = 1.0f;
	d = 1.0;
	b1 = false;
	c = '中';
	
	System.out.println(b);
	System.out.println(s);
	System.out.println(i);
	System.out.println(l);
	System.out.println(f);
	System.out.println(d);
	System.out.println(b1);
	System.out.println(c);
}

}
四、Java数据类型练习题
1、short s1 = 1; s1 = s1 + 1;有什么错?

s1是short类型,1是int类型,short和int混合运算的时候short会自动转换为int类型,所以s1 + 1编译器检测出是int类型,int类型无法赋值给short类型的变量s1。这样修改:s1 = (short)(s1 + 1);

2、 char类型变量能不能储存一个中文的汉字,为什么?

java中的文字采用unicode编码,一个中文占用2个字节,char类型在java中就是占用两个字节,所以java中的char类型完全可以容纳一个汉字。

3、float f = 1.0有什么错?

1.0字面量被当做double类型处理,大容量double无法赋值给小容量float。这样修改,两种方案:第一种方案是1.0后面添加f/F。第二种方案是强制类型转换:float f = (float)1.0;

4、long a = 2147483648有什么错?

不是long类型存不下2147483648,而是java把2147483648当做int类型来处理,但本身已经超出int类型范围。这样修改:long a = 2147483648L;

5、 int i = 0xffff有问题吗?

没有问题:0xffff以0x开始表示十六进制表示方式,ffff转换成十进制是:65535

6、char c = 65536有问题吗,为什么?

65536已经超出char类型取值范围,不能直接赋值,这样修改:char c = (char)65536;

五、Java运算符练习题
练习以下程序并分析程序的执行结果。

第1题:

int x = 10;
int a = x+ x++;
System.out.println(“a =” + a);
System.out.println(“x =” + x);
int b = x + ++x;
System.out.println(“b =” + b);
System.out.println(“x =” + x);
int c = x + x–;
System.out.println(“c =” + c);
System.out.println(“x =” + x);
int d = x + --x;
System.out.println(“d =” + d);
System.out.println(“x =” + x);
执行结果如下图所示:

在这里插入图片描述

第2题:

int a = 15;
int b = 2;
double c = 2;
System.out.println(a + “/” + b + “=” + (a / b));
System.out.println(a + “%” + b + “=” + (a % b));
System.out.println(a + “/” + c + “=” + (a / c));
System.out.println(a + “%” + c + “=” + (a % c));
执行结果如下图所示:

在这里插入图片描述

第3题:

boolean x, y, z;
int a = 15;
int b = 2;
x = a > b; // true;
y = a < b; // false;
z = a != b; // true;
System.out.println(“x =” + x);
System.out.println(“y =” + y);
System.out.println(“z =” + z);
执行结果如下图所示:

在这里插入图片描述

第4题:

int x;
double y;
x = (int) 22.5 + (int) 34.7;
y = (double) x;
System.out.println("x = " + x);
System.out.println("y = " + y);
执行结果如下图所示:

在这里插入图片描述

第5题:

int i = 5;
int j = 5;
int m = 5;
int n = 5;
i++;
j = j + 1;
m–;
n = n - 1;
System.out.println(i);
System.out.println(i++);
System.out.println(++i);
System.out.println(i–);
System.out.println();
System.out.println(j);
System.out.println(j++);
System.out.println(j–);
System.out.println(–j);
System.out.println();
System.out.println(m);
System.out.println(n);
执行结果如下图所示:

在这里插入图片描述

第6题:

int i = 0;
int j = 0;
System.out.println(i);
System.out.println(j);
i++;
++j;
System.out.println(i);
System.out.println(j);
System.out.println("--------------------------");
System.out.println(i++);
System.out.println(++j);
System.out.println("--------------------------");
System.out.println(i);
System.out.println(j);
执行结果如下图所示:

在这里插入图片描述

六、Java控制语句练习题
编写java程序,用循环结构打印如下的数值列表:

1 10 100 1000

2 20 200 2000

3 30 300 3000

4 40 400 4000

5 50 500 5000

public class Test {
public static void main(String[] args) {
for(int i=1 ; i<=5 ; i++){
int temp = i;
for(int j=1; j<=4 ; j++){
System.out.print(temp + " ");
temp *= 10;
}
System.out.println();
}
}
}
● 打印2到10000的所有素数,每行显示8个素数。
public class Test {
public static void main(String[] args) {
int count = 0;
for(int i=2;i<=10000;i++){
boolean isPrimeNum = true;
for(int j=2;j<i;j++){
if(i % j == 0){
isPrimeNum = false;
break;
}
}
if(isPrimeNum){
System.out.print(i + " ");
count++;
if(count == 8){
System.out.println();
count = 0;
}
}
}
}
}
● 编写程序,计算5的阶乘。

public class Test {
public static void main(String[] args) {
int result = 1;
for(int i=1; i<=5; i++){
result *= i;
}
System.out.println("5的阶乘 = " + result);
}
}
● 控制台输入年龄,根据年龄输出不同的提示。
public class Test {
public static void main(String[] args) {
java.util.Scanner s = new java.util.Scanner(System.in);
System.out.print(“请输入年龄:”);
int age = s.nextInt();
if(age < 0 || age > 150){
throw new RuntimeException(“对不起,年龄值不合法!”);
}
String grade = “你是老年人”;
if(age < 5){
grade = “可爱的小baby”;
}else if(age < 10){
grade = “你还是个小屁孩”;
}else if(age < 15){
grade = “小少年,不错哦”;
}else if(age < 18){
grade = “你是个青少年”;
}else if(age < 35){
grade = “你是个青年人”;
}else if(age < 50){
grade = “你已是中年人”;
}
System.out.println(grade);
}
}
● 编写程序输出下图菱形。

在这里插入图片描述

public class Test {
public static void main(String[] args) {
int lay = 9;
for (int m = 1; m <= (lay + 1) / 2; m++){
for (int b = 1; b <= (lay + 1) / 2 - m; b++){
System.out.print(" “);
}
for (int c = 1; c <= m * 2 - 1; c++) {
System.out.print(”");
}
System.out.println();
}
for (int d = (lay + 1) / 2 - 1; d >= 1; d–){
for (int b = 1; b <= (lay + 1) / 2 - d; b++){
System.out.print(" “);
}
for (int c = (lay + 1) / 2 - d; c <= (lay + 1) / 2 - 2 + d; c++){
System.out.print(”
");
}
System.out.println();
}
}
}
● 篮球从5米高的地方掉下来,每次弹起的高度是原来的30%,经过几次弹起,篮球的高度是0.1米。
public class Test {
public static void main(String[] args) {
double height = 5.0;
int count = 0;
while(height > 0.1){
height *= 0.3;
count++;
}
System.out.println("弹起次数 = " + count);
}
}
七、Java方法练习题
● 使用递归方式计算N的阶乘。

public class Test {
public static void main(String[] args) {
int n = 5;
int result = factorial(n);
System.out.println(n + "的阶乘 = " + result);
}

public static int factorial(int n) {
	if(n == 1){
		return 1;
	}
	return n * factorial(n - 1);
}

}
● 编写程序,模拟用户登录功能,程序开始运行时先在DOS命令窗口中初始化登录页面,提醒用户输入用户名和密码,当用户输入用户名为admin,密码为123的时候登录成功,打印欢迎信息,当用户输入的用户名和密码不正确打印错误提示信息并退出系统。对于以上的程序大家尽可能定义相关方法来完成,不要将所有代码都放到main方法当中。
public class Test {
public static void main(String[] args) {
//初始化界面
initUI();
}
public static void login(String username, String password) {
if(“admin”.equals(username) && “123”.equals(password)){
System.out.println(“登录成功,欢迎”+username+“回来!”);
}else{
System.out.println(“对不起,用户名或者密码错误!”);
}
}
public static void initUI() {
java.util.Scanner s = new java.util.Scanner(System.in);
System.out.println(“欢迎使用本系统,请登录!”);
System.out.print(“用户名:”);
String username = s.next();
System.out.print(“密码:”);
String password = s.next();
//登录
login(username, password);
}
}
● 通过方法重载、方法重复利用完成以下功能:
1、定义一个方法,该方法可以选出2个int类型较大的数据,返回值是较大的数据。

2、再定义一个方法,该方法可以选出3个int类型中较大的数据,返回值是较大的数据。

3、要求使用方法重载机制,要求代码体现出重复利用。

main方法中编写程序进行测试。

public class Test {
public static void main(String[] args) {
System.out.println(getBiger(10, 20));
System.out.println(getBiger(5,6,4));
}
public static int getBiger(int a , int b){
return a > b ? a : b;
}
public static int getBiger(int a , int b , int c){
return getBiger(a , b) > c ? getBiger(a , b) : c;
}
}
八、 Java面向对象练习题
●设计日期类,每个日期对象都可以描述年月日信息。

public class Date {
int year;
int month;
int day;
}
● 设计男人类,每个男人都有身份证号、姓名、性别、女人。设计女人类,每个女人都有身份证号、姓名、性别、男人。

public class Man {
String idCard;
String name;
boolean sex;
Woman gril;
}

public class Woman {
String idCard;
String name;
boolean sex;
Man boy;
}
● 设计银行账户类,每个账户都有账号、密码、余额等信息。
public class Account {
String actno;
String password;
double balance;
}
● 设计微信账号类,每个微信账号都有微信号、手机号、昵称等信息。

public class WebChatAccount {
String webChatId;
String phone;
String nickname;
}
九、Java对象的创建和使用练习题
● 定义丈夫类Husband和妻子类Wife,丈夫类的属性包括:身份证号,姓名,出生日期,妻子。妻子类的属性包括:身份证号,姓名,出生日期,丈夫。分别给这两个类提供构造方法(无参数构造方法和有参数构造方法都要提供),编写测试程序,创建丈夫对象,然后再创建妻子对象,丈夫对象关联妻子对象,妻子对象关联丈夫对象,要求能够输出这个“丈夫对象”的妻子的名字,或者能够输出这个“妻子对象”的丈夫的名字。要求能够画出程序执行过程的内存图。并且要求在程序中演示出空指针异常的效果。

public class Husband {
String idCard;
String name;
String birth;
Wife w;
public Husband() {
super();
}
public Husband(String _idCard, String _name, String _birth) {
super();
this.idCard = _idCard;
this.name = _name;
this.birth = _birth;
}
}
public class Wife {
String idCard;
String name;
String birth;
Husband h;
public Wife() {
super();
}
public Wife(String _idCard, String _name, String _birth) {
super();
this.idCard = _idCard;
this.name = _name;
this.birth = _birth;
}
}
public class Test {
public static void main(String[] args) {
Husband zhangsan = new Husband(“11111” , “zhangsan” , “2020-10-01”);
Wife lisi = new Wife(“22222” , “lisi” , “2020-10-02”);
zhangsan.w = lisi;
lisi.h = zhangsan;
System.out.println(zhangsan.name + “的妻子是” + zhangsan.w.name);
System.out.println(lisi.name + “丈夫是” + lisi.h.name);
zhangsan.w = null;
lisi.h = null;
System.out.println(zhangsan.name + “的妻子是” + zhangsan.w.name);
System.out.println(lisi.name + “丈夫是” + lisi.h.name);
}
}
执行结果如下图所示:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
2021-03-26 20:54:33,596 - Model - INFO - Epoch 1 (1/200): 2021-03-26 20:57:40,380 - Model - INFO - Train Instance Accuracy: 0.571037 2021-03-26 20:58:16,623 - Model - INFO - Test Instance Accuracy: 0.718528, Class Accuracy: 0.627357 2021-03-26 20:58:16,623 - Model - INFO - Best Instance Accuracy: 0.718528, Class Accuracy: 0.627357 2021-03-26 20:58:16,623 - Model - INFO - Save model... 2021-03-26 20:58:16,623 - Model - INFO - Saving at log/classification/pointnet2_msg_normals/checkpoints/best_model.pth 2021-03-26 20:58:16,698 - Model - INFO - Epoch 2 (2/200): 2021-03-26 21:01:26,685 - Model - INFO - Train Instance Accuracy: 0.727947 2021-03-26 21:02:03,642 - Model - INFO - Test Instance Accuracy: 0.790858, Class Accuracy: 0.702316 2021-03-26 21:02:03,642 - Model - INFO - Best Instance Accuracy: 0.790858, Class Accuracy: 0.702316 2021-03-26 21:02:03,642 - Model - INFO - Save model... 2021-03-26 21:02:03,643 - Model - INFO - Saving at log/classification/pointnet2_msg_normals/checkpoints/best_model.pth 2021-03-26 21:02:03,746 - Model - INFO - Epoch 3 (3/200): 2021-03-26 21:05:15,349 - Model - INFO - Train Instance Accuracy: 0.781606 2021-03-26 21:05:51,538 - Model - INFO - Test Instance Accuracy: 0.803641, Class Accuracy: 0.738575 2021-03-26 21:05:51,538 - Model - INFO - Best Instance Accuracy: 0.803641, Class Accuracy: 0.738575 2021-03-26 21:05:51,539 - Model - INFO - Save model... 2021-03-26 21:05:51,539 - Model - INFO - Saving at log/classification/pointnet2_msg_normals/checkpoints/best_model.pth 我有似于这样的一段txt文件,请你帮我写一段代码来可视化这些训练结果
02-06

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值