1. 在程序中定义Person类,为该类编写如下字段、构造器、访问器、修改器和相应的其他方法。(20分)

<1>在Person类中定义两个字段: 私有访问权限,类型为String的name字段; 私有访问权限,类型为int的age字段。
<2>在Person类中定义构造器
构造器有两个参数,第一个参数的类型是String,名字为name。第二个的类型是int,名字是age。第一个参数的值赋给字段name,第二个参数的值赋给字段age。
<3>为Person类的两个字段分别编写访问器方法,方法名称分别为getName和getAge。getName方法返回类型为String的name字段的值;getAge方法返回类型为int的age字段的值。
<4>为Person类的两个字段分别编写修改器方法,方法名称分别为setName和setAge。setName方法有一个String类型的参数,方法中用该参数来设置字段name的值;setAge方法有一个int类型的参数,方法中用该参数来设置字段age的值,并且保证age字段的值不能为负数,如果要将age设置为负数则给出错误提示。
<5> 在main()中创建一Person类型的对象,并调用上面的方法。

class Person {
/* 定义string类型姓名以及int类型年龄 */
private String name;
private int age; /* 构造器 */
public Person(String _name, int _age) {
age = _age;
name = _name;
} /* 设置姓名以及年龄的方法 */
public void setName(String _name) {
name = _name;
} public void setAge(int _age) {
if (_age < 0) {
/* 如果设置的年龄小于0岁打印错误 */
System.out.println("error");
} else {
age = _age;
}
} /* 获取姓名以及年龄的方法 */
public String getName() {
return name;
} public int getAge() {
return age;
}
} public class App {
public static void main(String[] args) {
// 创建Person对象(p1采用构造函数方式创建p2采用类方法进行数据设置)
Person p1 = new Person("小张", 18);
Person p2 = new Person(null, 0);
// 调用类方法设置
p2.setAge(21);
p2.setName("小李");
// 调用get方法输出信息
System.out.println(p1.getName() + "的年龄是 " + p1.getAge());
System.out.println(p2.getName() + "的年龄是 " + p2.getAge());
}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48

2、已知三个小数x,y,z,请把这三个数由大到小输出 (20分)

public class App {
public static void main(String[] args) throws Exception {
double Num1 = 10.2;
double Num2 = 11.9;
double Num3 = 7.8; double max = 0.0, min = 0.0;
// 如果num1大于num2和num3最大数为num1
if (Num1 > Num2 && Num1 > Num3) {
// 如果上述判断成立则从num2和num3中判断出最小值
if (Num2 > Num3) {
min = Num3;
} else {
min = Num2;
}
max = Num1;
} else if (Num2 > Num1 && Num2 > Num3) {
if (Num1 > Num3) {
min = Num3;
} else {
min = Num1;
}
max = Num2;
} else if (Num3 > Num2 && Num3 > Num1) {
if (Num2 > Num1) {
min = Num1;
} else {
min = Num2;
}
max = Num3;
}
// 打印出最大数值和最小数值
System.out.println("最大值是: " + max + " 最小值是:" + min); }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36

3、求n!,如当n=6时,输出为720 (15分)

import java.util.Scanner;

public class App {
public static void main(String[] args) throws Exception {
/* 求n的阶乘 */
System.out.print("请输入阶乘数值:");
Scanner sc = new Scanner(System.in);
// 输入一个求阶乘的数值
int Num = sc.nextInt();
int value = 1;
// 求阶乘核心程序
for (int i = 1; i < Num; i++) {
value += i * value;
}
// 输出阶乘数值
System.out.println(Num + "的阶乘 = " + value);
// 关闭sc类
sc.close();
}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

4、将一个数组逆序输出,如:原来为{1,2,3,4,5},输出为{5,4,3,2,1} (15分)

public class App {
public static void main(String[] args) {
int[] arrList = { 1, 2, 3, 4, 5 };
// 逆序方式输出
for (int i = arrList.length - 1; i >= 0; i--) {
System.out.print(arrList[i] + " ");
}
}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

5、已知学生成绩,如成绩大于等于90,则输出优秀;如在80到90间,则输出良好;如在70到80间,则输出中等;如在60到70间,则输出及格;如在0到60间,则输出不及格;如成绩小于0或大于100,则输出出错) (10分)

import java.util.Scanner;

public class App {
public static void main(String[] args) throws Exception {
Scanner sc = new Scanner(System.in);
System.out.print("请输入学生成绩:");
double scores = sc.nextDouble();
String level;
if (scores >= 90 && scores <= 100) {
level = "优秀";
} else if (scores >= 80) {
level = "良好";
} else if (scores >= 70) {
level = "中等";
} else if (scores >= 60) {
level = "及格";
} else if (scores >= 0) {
level = "不及格";
} else {
level = "出错";
} System.out.println("该学生等级为:" + level);
sc.close();
}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

2021-1-2更新阶乘程序更正(阶乘数值类型更改为double类型):

byte占1个字节8位,取值范围为-27~27-1

int占4个字节32位,取值范围为-231~231-1

short占2个字节16位,取值范围为-215~215-1

long占8个字节64位,取值范围为-263~263-1

float占4个字节32位,取值范围为3.402823e+38 ~ 1.401298e-45

double占8个字节64位,取值范围为1.797693e+308~ 4.9000000e-324

char占2个字节16位,取值范围为0~65535

boolean即true或false

import java.util.Scanner;

public class App {
public static void main(String[] args) throws Exception {
/* 求n的阶乘 */
System.out.print("请输入阶乘数值:");
Scanner sc = new Scanner(System.in);
// 输入一个求阶乘的数值
int Num = sc.nextInt();
double value = 1;
// 求阶乘核心程序
for (int i = 1; i < Num; i++) {
value += i * value;
}
// 输出阶乘数值
System.out.println(Num + "的阶乘 = " + value);
// 关闭sc类
sc.close();
}
}

原文章:https://blog.csdn.net/qq_43581670/article/details/112086069

Java期末考试编程题复习的更多相关文章

  1. 中国MOOC_面向对象程序设计——Java语言_期末考试编程题_1细胞自动机

    期末考试编程题 返回   这是期末考试的编程题 温馨提示: 1.本次考试属于Online Judge题目,提交后由系统即时判分. 2.学生可以在考试截止时间之前提交答案,系统将取其中的最高分作为最终成 ...

  2. 网易云课堂_C语言程序设计进阶_期末考试编程题部分

    1 字符串循环右移(5分) 题目内容: 输入一个字符串和一个非负整数N,要求将字符串循环右移N次. 输入格式: 输入在第1行中给出一个字符串,以'#'表示结束,‘#’不是字符串的一部分,字符串的长度未 ...

  3. 网易云课堂_程序设计入门-C语言_期末考试编程题

    1 字数统计(10分) 题目内容: 你的程序要读入一篇英文文章,然后统计其中的单词数来输出.需要统计的数据为: 总的单词数量: 含有1个字母到10个字母的单词的数量. 单词和单词的间隔是由以下标点符号 ...

  4. Java期末考试冲刺总结

    经过长达将近三个小时的冲刺,我感觉身心俱疲,但它无法掩盖我敲代码的欲望! 三个小时我只实现了公文流转系统的的部分功能. 我深刻的意识到建民老师说的这套关系之复杂,它真的是太复杂了!!!没有系统的梳理, ...

  5. java 期末考试复习

      //Scanner这样写? Scanner input = new Scanner(System.in); //不断获得下一个单词 names[i] = toTitleCase(input.nex ...

  6. java经典50编程题

    菲波拉契数列:有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? package com.day2; public ...

  7. Java OOP考试错题分析

      解析: A.ArrayList 可以存储NULL值,也可以存储重复的值,对集合没有任何影响. B.一旦实例化不可改变自身大小,这是数组的特性.集合的容量是自身扩容的. C.ArrayList可以存 ...

  8. 链家2018春招C/C++开发实习生在线考试编程题

    题目一 题解:该题目意思就是让你输入n组数据,然后求并集,利用STL容器set集合的特性:元素不重复存储,我们可以很轻易得出答案 #include <iostream> #include ...

  9. java面向对象基础编程题

    第一题: 设计一个形状类Shape,方法:求周长和求面积.形状类的子类:Rect(矩形),Circle(圆形).Rect类的子类:Square(正方形).不同的子类会有不同的计算周长和面积的方法1.总 ...

随机推荐

  1. hdu5249KPI动态中位数(两个set)

    题意(中问题直接粘题意吧)                                                                      KPI Problem Descr ...

  2. Supervisord远程命令执行漏洞(CVE-2017-11610)

    目录 Supervisor 漏洞复现 修复建议 Supervisor Supervisor是使用Python 开发的进程管理程序,一般使用命令行进行管理,当然也能通过web接口图形化管理服务.在配置了 ...

  3. C#-Stmp发邮件

    public MailMessage Initial(string Address) { MailMessage m_Mail = new MailMessage(); //发件人 m_Mail.Fr ...

  4. 通过修改EIP寄存器实现强行跳转并且注入DLL到目标进程里

    /* 描述 功能:通过修改EIP寄存器实现32位程序的DLL注入(如果是64位,记得自己对应修改汇编代码部分) 原理: 挂起目标进程,停止目标进程EIP的变换,在目标进程开启空间,然后把相关的指令机器 ...

  5. unresolved external symbol _WinMain@16

    vc下,新建一个win32项目,就写了个main函数,打印hello ,出现了如标题所述的错误 原因: 你建立了一个WINDOWS应用程序,可是你却在入口函数的时候使用main而不是WinMain 解 ...

  6. XCTF-supersqli

    supersqli 进来有个输入框,看内容应该是var_dump了sql查询结果 单引号有报错,万能语句能用,注释符#没被ban 打了个union select,给提示ban了一堆关键字,而且忽略大小 ...

  7. Matlab学生账号创建激活使用

    软件介绍 MATLAB主要用于数值分析.数值和符号计算.工程与科学绘图.控制系统的设计与仿真.数字图像处理.数字信号处理.通讯系统设计与仿真.财务与金融工程,是一款商业数学软件.MATLAB拥有丰富的 ...

  8. SpringBoot配置切换

    切换需求 有时候在本地测试是使用8080端口,可是上线使用的又是80端口. 此时就可以通过多配置文件实现多配置支持与灵活切换. 多配置文件 3个配置文件: 核心配置文件:application.pro ...

  9. 【小技巧】启动Tomcat 提示端口被占用 怎么办?一句命令解决

    windows环境: 方法1: 1.win+r 打开黑界面 2.输入命令 netstat -ano|findstr 8080 3.输入命令 taskkill /pid xxxx /f Linux环境: ...

  10. 基于任务的异步编程(Task,async,await)

    这节讲一下比较高级的异步编程用法Task,以及两个异步关键字async和await. Task是在C#5.0推出的语法,它是基于任务的异步编程语法,是对Thread的升级,也提供了很多API,先看一下 ...