实 验 报 告

( 2017 / 2018学年 第2学期)

课程名称

JAVA语言程序设计

实验名称

Java集成开发环境的安装与使用、

Java变量、表达式与控制结构

实验时间

2018

4

11

指导单位

计算机学院软件教学中心

指导教师

许棣华

学生姓名

王利国

班级学号

B160209

学院(系)

电子与光学工程学院,微电子学院

专    业

微电子科学与工程

实验名称

方法、数组和类

指导教师

许棣华

实验类型

上机

实验学时

2

实验时间

2017.4.11

一、    实验目的

1. 掌握方法的声明和调用

2. 掌握数组的声明、创建、初始化和使用

3. 掌握类的定义

4. 掌握对象的创建和使用

5. 掌握构造方法的使用

6. 掌握包的创建和使用

二、实验环境(实验设备)

1. 每位学生配备计算机一台

2. 计算机需安装好JDK和Jcreator

三、实验内容

1. 寻找并输出11~999之间的数m,它满足m、m2、m3均为回文数。回文数是各位数字左右对称的整数。判断是否为回文要求通过编写方法来完成。

package Test;

/**
* @Author liguo
* @Description 寻找并输出11~999之间的数m,它满足m、m2、m3均为回文数。
* 回文数是各位数字左右对称的整数。判断是否为回文要求通过编写方法来完成。
* @Data 2018-04-11
*/
public class Test21 {
//将数按照位数转化为数组,然后比较数组首尾是否相同来判断是否为回文
static boolean huiWen(int a) {
boolean flag = true;
int temp = String.valueOf( a ).length();
int b[] = new int[temp]; for (int i = 0; i <= temp - 1; i++) {
b[i] = a % 10;
a = a / 10;
}
int mid = temp / 2;
for (int i = 0; i <= mid; i++) {
if (b[i] != b[temp - 1 - i]) {
flag = false;
break;
}
}
return flag;
// for ( int number : b)
// System.out.println( number );
} public static void main(String[] args) {
for (int i = 11; i <= 999; i++) {
if (huiWen( i )) {
if (huiWen( i * i )) {
if (huiWen( i * i * i ))
System.out.println( i + " " );
}
} }
}
}

2. 由键盘输入10个整数,比较并输出其中的最大值和最小值。

package Test;

  import java.util.Arrays;

  import java.util.Scanner;

  /**

 * @Author liguo

 * @Description 由键盘输入10个整数,比较并输出其中的最大值和最小值。

 * @Data 2018-04-11

 */

  public class Test22 {

    public static void main(String[] args) {

        Scanner in = new Scanner( System.in );

        int[] array = new int[10];

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

            array[i] = in.nextInt();

        }

        Arrays.sort( array );

        System.out.println( "最大值为" + array[9] + "最小值为" + array[0] );

    }

}
3. 随机产生50个1-100之间的整数,存放于一个10´5的二维数组中,要求按照10´5的格式打印这个数组(即共显示10行,每行5个数,数与数之间间隔一个空格),并求出该数组所有元素之package Test;
  
  /**

 * @Author liguo

 * @Description

 * @Data 2018-04-11 

 */

  public class Test23 {

    public static void main(String[] args) {

        int[][] array = new int[10][5];

        int i = 0;

        for (int[] row : array) {

            for (int value : row) {

                value = (int) (Math.random() * 100);

                System.out.print( value + " " );
          int sum = 0;
} System.out.println(); } } }

4. 学生类的创建和使用

①创建一个学Student类,成员变量包括:学号、班号、姓名、性别、年龄等,且都是private类型。

②声明一个构造方法,初始化所有成员变量。

③分别声明获得各属性的public类型的成员方法,方法名要求以get开头。

④分别声明修改各属性的public类型的成员方法,方法名要求以set开头。

⑤声明一个public类型的toString()方法,把该类中的所有域信息组合成一个字符串。

⑥声明统计创建Student对象的个数的私有域count和得到Student对象的个数的public方法。

⑦将类Student放在子包student中。

⑧在子包student外,创建测试类Student的主类。

在主类中:创建2个Student对象,输出对象的所有域信息;修改对象的姓名和年龄,输出修改后的姓名和年龄;比较两个Student对象的年龄的大小,输出年龄较大的Student对象package student;



  /**

 * @Author liguo

 * @Description

 * @Data 2018-04-11

 */

  public class Student {

    private int studentID;

    private int clssID;

    private String name;

    private String sex;

    private int age;

    private static int count;

    public static int getCount() {

        return count;

    }

    public Student(int studentID, int clssID, String name, String sex, int age) {

        this.studentID = studentID;

        this.clssID = clssID;

        this.name = name;

        this.sex = sex;

        this.age = age;

        count++;

    }

    @Override

    public String toString() {

        return "Student{" +

                "studentID=" + studentID +

                ", clssID=" + clssID +

                ", name='" + name + '\'' +

                ", sex='" + sex + '\'' +

                ", age=" + age +

                '}';

    }

    public int getStudentID() {

        return studentID;

    }

    public void setStudentID(int studentID) {

        this.studentID = studentID;

    }

    public int getClssID() {

        return clssID;

    }

    public void setClssID(int clssID) {

        this.clssID = clssID;

    }

    public String getName() {

        return name;

    }

    public void setName(String name) {

        this.name = name;

    }

    public String getSex() {

        return sex;

    }

    public void setSex(String sex) {

        this.sex = sex;

    }

    public int getAge() {

        return age;

    }

    public void setAge(int age) {

        this.age = age;

    }

}
 

地生院作业版本答案

import java.util.*;
class Student {
private String studentID;
private String name;
private String sex;
private int age;
private static int count; public static int getCount() {
return count;
} public Student(String studentID, String name, String sex, int age) {
this.studentID = studentID;
this.name = name;
this.sex = sex;
this.age = age;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
} public static void setCount(int count) {
Student.count = count;
} public static void main(String[] args) {
//顺序输入两个学生的学号、姓名、性别、年龄,一行输入一个学生
//
//输出一下字符串“The older student is 年龄较大的学生姓名.”
// B01 zhang male 20
// B02 li female 25
Scanner in = new Scanner( System.in );
String xuehao1 = in.next( );
String name1 = in.next( );
String sex1 = in.next( );
int age1 = in.nextInt();
String xuehao2 = in.next( );
String name2 = in.next( );
String sex2 = in.next( );
int age2 = in.nextInt();
Student s1 = new Student( xuehao1, name1, sex1, age1);
Student s2 = new Student( xuehao2, name2, sex2, age2 );
if (s1.getAge() > s2.getAge())
System.out.println( "the older student is "+ s1.getName() );
else
System.out.println( "the older student is "+ s2.getName() );
}
}
class Main{
  public static void main(String[] args) {

        Student one = new Student( 16020913, 9, "王利国", "男", 19 );

        Student two = new Student( 16020912, 9, "王宁宁", "男", 20 );

        System.out.println( one.toString() + "\n" + two.toString() );

        one.setName( "lili" );

        one.setAge( 20 );    

        two.setName( "dingding" );

        two.setAge( 21 );

        System.out.print( "两个学生年龄较大者为:" );

        System.out.println( one.getAge() > two.getAge() ? one.getAge() : two.getAge() );

        System.out.println( "student对象的个数为"+getCount() );

    }
}
 

四、实验小结(包括问题和解决方法、心得体会等)

1:可以使用String.valueOf(数据).length方法来获取int类型的长度。

2第一次在二维数组中使用foreach,挺好的,框架如下

for (int[] row : array) {
    for (int value : row) {
        value = (int) (Math.random() * 100);
        System.out.print( value + " " );
    }
    System.out.println();
}

3:有些问题java也没有封装方法,查找api也没有找到一个直接将int类型转换成int数组的方法。最后只能手写int类型转数组。

4:有编译器挺方便,直接可以生成第四题类中的Constructor和Getter,Setter方法。

五、指导教师评语

成  绩

批阅人

日  期

                       
、、

南京邮电大学java第二次实验报告的更多相关文章

  1. 南京邮电大学java第一次实验报告

    实 验 报 告 ( 2017 / 2018学年 第2学期) 课程名称 JAVA语言程序设计 实验名称 Java集成开发环境的安装与使用. Java变量.表达式与控制结构 实验时间 2018 年 4 月 ...

  2. 南京邮电大学java第四次实验报告

    实 验 报 告 ( 2017 / 2018学年 第2学期) 课程名称 JAVA语言程序设计 实验名称 Java集成开发环境的安装与使用. Java变量.表达式与控制结构 实验时间 2018 年 6 月 ...

  3. 南京邮电大学java第三次实验报告

    实 验 报 告 ( 2017 / 2018学年 第2学期) 课程名称 JAVA语言程序设计 实验名称 Java集成开发环境的安装与使用. Java变量.表达式与控制结构 实验时间 2018 年 4 月 ...

  4. java第二次实验报告

    课程:Java实验   班级:201352     姓名:池彬宁  学号:20135212 成绩:             指导教师:娄佳鹏   实验日期:15.05.05 实验密级:         ...

  5. java第二次实验报告20135231

    Java实验报告二:Java面向对象程序设计 20135231 何佳 实验要求: 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. 熟悉 ...

  6. Java第二次实验报告——Java面向对象程序设计

    北京电子科技学院(BESTI) 实    验    报    告 课程名称:java程序设计实验      班级:1352         姓名:洪韶武      学号:20135219 成绩:   ...

  7. 南京邮电大学java程序设计作业在线编程第二次作业

    王利国的"Java语言程序设计第2次作业(2018)"详细 作业结果详细 总分:100 选择题得分:60  1. 表达式9==8&&3<7的运算结果是( ) ...

  8. 20165210 Java第二次实验报告

    20165210 实验二 Java面向对象程序设计 一.面向对象程序设计1--单元测试和TDD 实验要求 参考 http://www.cnblogs.com/rocedu/p/6371315.html ...

  9. 南京邮电大学java程序设计作业在线编程第四次作业

    王利国的的 "Java语言程序设计第4次作业(2018)" 详细 主页 我的作业列表 作业结果详细 总分:100 选择题得分:40  1.下列方法定义中,正确的是() A.doub ...

随机推荐

  1. 新手立体四子棋AI教程(1)——基础扫盲

    一.引言 最近身边好几个朋友开始玩立体四子棋,激起了我的好奇心.那么首先来说什么是[立体四子棋],规则又是如何呢? 上图即为立体四子棋,规则类似于五子棋四子连在一起,但是四子棋更加多样.丰富.不仅可以 ...

  2. 用JAVA进行Json数据解析(对象数组的相互嵌套)

    这段时间我们在做一个英语翻译软件的小小小APP,涉及到了对Json数据的解析,所以特地来总结一下! 假设我们要对如下数据进行解析,其实在平时,返回的Json数据是很乱的,很难分清数据的关系,这是经过相 ...

  3. GO语言初探

    1.GO使用UTF-8编码,纯Unicode文本编写. 2.$ go verson (windows) 3.windows下,需要设置go语言的环境变量,新建一个名为 GOROOT的变量,指向go的具 ...

  4. Tomcat 8启动速度慢原因1: At least one JAR was scanned for TLDs yet contained no TLDs

    最近使用tomcat8启动项目时,发现At least one JAR was scanned for TLDs yet contained no TLDs这一步加载时间非常长, 从网上收集了各种资料 ...

  5. java枚举类型变通

    原始用法 public enum Color { RED, GREEN, BLANK, YELLOW } 开发中用法 public enum ApiCodeEnum { SUCCESS(0," ...

  6. Oracle Orion tool check io(ORACLE Orion 工具查看以及校验IO)

    文档主要来自oracle官方文档performance 8.3章节 Oracle数据库提供了Orion,一种 I/O校准工具.Orion是预测Oracle数据库性能的工具,无需安装Oracle或创建数 ...

  7. bjtu 1819 二哥求和(前缀和)

    题目 . 二哥的求和 时间限制 ms 内存限制 MB 题目描述 某一天,calfcamel问二哥,有道数学题怎么做呀?二哥看了一下说我不会呀,于是二哥找到了你,请你帮他解决这个问题,这样二哥就可以鄙视 ...

  8. [日常] 最近的一些破事w...

    更新博文一篇以示诈尸(大雾 (其实只是断了个网然后就彻底失踪了一波w...连题解都没法写了QAQ) $ \tiny{诈尸的实际情况是老姚提前走还把十一机房门锁了然而钥匙在联赛的时候就还了于是并不能进去 ...

  9. Redux----Regular的Redux实现整理

      Regular的Redux实现整理 什么问题? 组件的树形结构决定了数据的流向,导致的数据传递黑洞 怎么解决? 所有组件都通过中介者传递共享数据 方案: 中介者: (function create ...

  10. 网络推广 免费推广产品网站 B2B网站如何推广

    云集网(yunjinet.com)免费发布各类服务和产品信息,在平台上推广你的产品.帮助商家推广优质的产品和服务.如何提高信息的点击量为了提高分类信息网的信息质量,对重复度高.相似度高的信息进行了过滤 ...