Java笔记_this关键字_HomeWork(1 - 4 题)
第一题
/**
* @ClassName HomeWork01
* @Description TODO
* @Author Orange
* @Date 2021/4/23 8:14
* @Version 1.0
**/
//题目要求定义方法max,实现某个double数组的最大值,并返回!
public class HomeWork01 {
public static void main(String[] args) {
double arr[] = {23.4, 212.4, 223.1, 42, 23122.9};
A01 a = new A01();
System.out.println("\n最大值max = " + a.max(arr));
}
}
class A01 {
public double max(double [] arr) {
System.out.println("===寻找数组中的最大值:===");
double max = 0;
for(int i = 0; i < arr.length; i++) {
if(arr[i] > max)
max = arr[i];
System.out.println(max);
}
return max;
}
}
/*
程序运行结果:
------------------------
===寻找数组中的最大值:===
23.4
212.4
223.1
223.1
23122.9
最大值max = 23122.9
------------------------
*/
第一题改进:
/**
* @ClassName HomeWork01_1
* @Description TODO
* @Author Orange
* @Date 2021/4/23 9:42
* @Version 1.0
**/
//题目要求定义方法max,实现某个double数组的最大值,并返回!
public class HomeWork01_1 {
public static void main(String[] args) {
//疑问点:要是数组是空数组怎么办?数组的值为null怎么办?
double arr[] = {};//12.3, 242, 1.99, 234.08,1940.65
A03 a = new A03();
Double res = a.max(arr);
if(res != null) { //改进点1:考虑数组值可能为null时的处理
System.out.println("\n最大值max = " + res);
}else {
System.out.println("输入的数组有误!");
}
}
}
class A03 {
public Double max(double [] arr) {
System.out.println("===寻找数组中的最大值:===");
if(arr != null && arr.length > 0) { //改进点2:避免了输入的数组值为null和
//数组为空的情况下程序报错的情况
double max = 0;
for (int i = 0; i < arr.length; i++) {
if (arr[i] > max)
max = arr[i];
System.out.println(max);
}
return max;
}else {
return null;
}
}
}
/*
程序运行结果:
------------------------
===寻找数组中的最大值:===
输入的数组有误!
------------------------
*/
第二题
/**
* @ClassName HomeWork02
* @Description TODO
* @Author Orange
* @Date 2021/4/23 8:32
* @Version 1.0
**/
// 编写类A02,定义方法find,实现查找某字符串是否在字符串数组中,
// 并返回索引,如果找不到返回-1!
public class HomeWork02 {
public static void main(String[] args) {
String arr[] = {"峰哥牛逼!", "青哥牛逼!", "还是峰哥牛逼!"};
String str = "还是峰哥牛逼!";
A02 a = new A02();
System.out.println("输入字符串:" + str + " 返回值:" + a.find(str, arr));
}
}
class A02 {
public int find (String str, String str_arr []) {
int i = 0;
for(; i < str_arr.length; i++) {
if(str.equals(str_arr[i]))
break;
}
if(str.equals(str_arr[i])) {
return i;
}else {
return -1;
}
}
}
/*
程序运行结果:
--------------------------------
输入字符串:还是峰哥牛逼! 返回值:2
--------------------------------
*/
第三题
/**
* @ClassName HomeWork03
* @Description TODO
* @Author Orange
* @Date 2021/4/23 9:06
* @Version 1.0
**/
// 类描述:
// 编写类Book,定义方法updatePrice,实现更改某本书的价格,
// 具体:如果价格 > 150,则更改为150,如果价格 > 100,更改为100,否则不变
import java.util.Scanner;
public class HomeWork03 {
public static void main(String[] args) {
Scanner myScanner = new Scanner(System.in);
System.out.println("请输入此书的价格:");
double book_price = myScanner.nextDouble();
Book a = new Book();
System.out.println("更新后的价格为:" + a.updatePrice(book_price));
}
}
class Book {
public double updatePrice (double price) {
double new_price;
if(price > 150) {
new_price = 150;
}else if(price > 100) {
new_price = 100;
}else {
new_price = price;
}
return new_price;
}
}
/*
程序运行结果:
--------------------------------
请输入此书的价格:
199
更新后的价格为:150.0
--------------------------------
*/
第四题
/**
* @ClassName This_Homework04
* @Description TODO
* @Author Orange
* @Date 2021/4/24 18:35
* @Version 1.0
**/
/*
编写类A04实现数组的复制功能copyArr,输入旧数组,返回一个新数组,
元素和旧数组一样
Write class A04 to implement the array copy function copyArr,
enter the old array, and return a new array with the same
elements as the old array.
*/
public class HomeWork04 {
public static void main(String[] args) {
int arr[] = {1,5,3,2,6,7,8,3,23}; //初始化外部数组
A04 a = new A04(arr.length); //创建类A04对象a
a.copyArr(arr); //调用对象a 复制数组方法copyArr
a.info(); //调用对象a 显示数组方法info
}
}
class A04 {
int arr[] = null; //声明一个int[]类型的arr引用变量,
//变量会占用一块内存空间,它没有分配初始值。
public A04(int length) { //构造器,设置数组arr的长度
arr= new int[length];
}
public void copyArr (int arr[]) {
for(int i = 0; i < arr.length; i++) { //将外部数组元素依次赋给对象a的数组元素
this.arr[i] = arr[i];
}
//return this.arr;
}
public void info() {
System.out.println("===对象数组输出===");
for(int i = 0; i < this.arr.length; i++) { //输出对象数组
System.out.print(this.arr[i] + "\t");
}
}
}
/*
Program running results:
------------------------------------
===对象数组输出===
1 5 3 2 6 7 8 3 23
------------------------------------
*/
Java笔记_this关键字_HomeWork(1 - 4 题)的更多相关文章
- Java笔记 —— this 关键字
Java笔记 -- this 关键字 h2{ color: #4ABCDE; } a{ color: blue; text-decoration: none; } a:hover{ color: re ...
- Java笔记:关键字
关键字 描述 abstract 抽象方法,抽象类的修饰符 assert 断言条件是否满足 boolean 布尔数据类型 break 跳出循环或者label代码段 byte 8-bit 有符号数据类型 ...
- JAVA笔记4__static关键字/对象数组/foreach/方法的可变参数
/** * static关键字:修饰属性(实质就是全局变量).方法(无需本类的对象即可调用此方法).类. * 1.static方法只能调用static方法 * 2.static方法只能访问static ...
- JAVA笔记 -- this关键字
this关键字 一. 基本作用 在当前方法内部,获得当前对象的引用.在引用中,调用方法不必使用this.method()这样的形式来说明,因为编译器会自动的添加. 必要情况: 为了将对象本身返回 ja ...
- JAVA笔记4-static关键字
1.static方法中不能使用this关键字 2.例题:static成员变量用于计数
- JAVA笔记11-Final关键字
相当于C++中的const (1)final的变量值(成员变量.局部变量(形参))不可被改变: (2)final的方法不能被重写: (3)final的类不能被继承.
- JAVA笔记3-this关键字
1. 2.例题
- Java复习笔记--java中this 关键字
Java中this关键字,this可以调用类的成员变量和成员方法,this还可以调用类中的构造方法.使用这种方式值得注意的是, 只可以在无参构造方法中的第一句使用this关键字调用有参构造方法. pu ...
- Thinking in Java 笔记
大二就买了这本书,如今再看这本书,看到了一些以前没看的细节,也有了不同的体会.本文使用第4版,整理每章的笔记心得.老外的书有个特点,他会花费大量的文字去阐述一个概念,这比堆代码强多了. 第 1 章 对 ...
- TIJ读书笔记05-this关键字
TIJ读书笔记05-this关键字 概述 this的用法 static方法 概述 两个对象同时调用一个方法,那么jvm怎么知道是哪个方法调用的呢. 我们在书写的时候会写成a.fun(1) 或者b.fu ...
随机推荐
- 移动 WEB 布局方式之 rem 适配布局 ---- 苏宁首页案例制作
一.技术选型 二.搭建相关文件夹结构 三.设置视口标签以及引入初始化样式 四.设置公共common.less 文件 common.less //设置常见的屏幕尺寸大小,修改里面的html 文字大小 / ...
- .NET 团队 更新了 .NET 语言策略
2023年2月6日 ,.NET团队在官方博客上发布了.NET 语言策略的更新文章,具体参见 https://devblogs.microsoft.com/dotnet/update-to-the-do ...
- WinNTSetup V5.3.0 Bata5 单文件版
前言 WinNTSetup 是一款Windows系统硬盘安装器,支持从PE和本地安装系统,支持支持NT内核的系统. WinNTSetup 包括XP.Win7.Win8.Win8.1.Win10等这些系 ...
- python新冠疫情分析-世界疫情数据爬取
事情发展:1.毕业设计是关于疫情数据的可视化展示(基于java,需要做数据可视化,需要做管理员端对数据进行增删改查处理)2.飞起来速度学爬虫,参考了非常多资料,比如b站的黑马爬取(报错,就是在切片那里 ...
- VS 撰写生成了多个撰写错误,其根本原因有X点,如下所列。有关详细信息,请查看CompositionException.Error属性
打开VS开发程序,莫名其妙的出现如下图错误: 网上找了很多资料,有前辈说以下方法: 解决方案如下 打开文件夹 Users\<CurrentUser>\AppData\Local\Micro ...
- 四川九联代工M301H hi3798 mv300 mt7668魔百和 强刷和TTL线刷(救砖)经验分享
以下都是本次自己操作后的一些经验,不是技术分享,也是看来很多水教程后总结的精华. 四川九联代工M301H hi3798 mv300 mt7668魔百和 一.强刷 1.强刷的教程网上有很多,自己百度. ...
- 基于Vue3的Leaflet基础
1. 概述 Leaflet 是一个开源.轻量并且对移动端友好的交互式地图 JavaScript 库,大小仅仅只有 39 KB, 拥有绝大部分开发者所需要的所有地图特性 Leaflet 的官网为:Lea ...
- vue前端实现将页面显示内容生成pdf文件的几种方法,html2canvas、dom-to-image、jspdf(带分页)基本使用以及介绍
实际开发需求:vue项目中,根据数据结构生成echarts图表组件,生成带有样式的图表以后,点击下载按钮,把图表以pdf格式的文件下载到本地 实现思路:将vue界面的echarts组件生成图片,然后使 ...
- [NPUCTF2020]EzRSA
[NPUCTF2020]EzRSA 题目: from gmpy2 import lcm , powmod , invert , gcd , mpz from Crypto.Util.number im ...
- Cannot invoke "java.sql.Connection.prepareStatement(String)" because "conn" is null问题解决
HTTP状态 500 - 内部服务器错误 类型 异常报告 消息 Cannot invoke "java.sql.Connection.prepareStatement(String)&quo ...