在java的学习过程中数组的版块也是十分重要的,包括一些教程也会在这个知识点花上更多的时间来讲解,足以证明 这个知识点的重要性,今天想和大家分享一道学习数组过程中不可避免的求最值题。

  已知一个整形数组,求该数组的最大值:

  求最值是数组编程中十分重要的一环,具体的解题思路如下:

package max;

public class demo {

	public static void main(String[] args) {

		int[] num= {2,4,5,6,7,8};//定义一个数组
int max = getmax(num);//调用函数
System.out.println(max);//输出最大值 }
public static int getmax(int[] num) {
int max = 0;
for(int i=0;i<num.length;i++) {
if(num[i]>max)
max=num[i];
}
return max; }//定义函数返回最大值 }

  这是大多数刚刚开始学java的同学都会有的解题思路,但是当数组里的元素都为负数时,max=0便不再适用于该函数,这个时候便有了下面的解题方法:

package max;

public class demo {

	public static void main(String[] args) {

		int[] num= {-2,-4,-9,-6,-7,-8};//定义一个数组
int max = getmax(num);//调用函数
System.out.println(max);//输出最大值 }
public static int getmax(int[] num) {
int max= num[0];//为max赋值
for(int i=1;i<num.length;i++) {
if(num[i]>max){
max=num[i];
}
}
return max; }//定义函数返回最大值 }

   一般遇到元素为负数时max=0将不再适用,大家都会换一种解题的思路,但是当max=0的时候有没有另外的一种解法呢?答案是肯定的,请看下面的解题思路:

package max;

public class demo {

	public static void main(String[] args) {

		int[] num= {-2,4,-9,-6,-7,-8};//定义一个数组
int max = getmax(num);//调用函数
System.out.println(max);//输出最大值 }
public static int getmax(int[] num) {
int max=0;//将max定义为角标
for(int i=1;i<num.length;i++) {
if(num[i]>num[max]){
max=i;
}
}
return num[max]; }//定义函数返回最大值 }

  其实上述的解题方法只不过是将max当成一个坐标来适用,这样就算max=0,程序也能完美的求出最大值,希望大家在java的学习之路上也能学会转化思考方式,懂得变通,这样才能学得更好,毕竟java博大精深,哈哈哈!

(10.19)Java小作业的更多相关文章

  1. 1.java小作业-计算1到100的整合-指定输入多少行输出就打印多少行-打印24小时60分钟每一分钟-重载基础练习-面向java编程初学者

    可能有和我一样刚开始学习java的小伙伴们, 可以或多或少了解一点别的语言知识,我就是中途转过来的, 明白一点,关键不在语言本身····· 所以面对初学者来说,基础要学好, 下面列举几个没什么难度的小 ...

  2. (10.16)java小作业!

    相信大家刚刚学习java多多少少都会写一些java的基础编程来练练手感,我也不例外!今天想和大家分享一下我最近所接触到的比较有趣的java小编程! 已知a已被赋值,b已被赋值,请编写java程序实现a ...

  3. (10.20)Java小作业!

    今天想要和大家分享一道我最近遇到的题,里面既包括了嵌套循环的运用,还有函数的定义与调用,我个人觉得挺有价值的. 打印一个由*号构成的等腰三角形: 具体的解题方法如下: public class get ...

  4. 使用基础知识完成java小作业?强化练习-1.输入数组计算最大值-2.输出数组反向打印-3.求数组平均值与总和-4.键盘输两int,并求总和-5.键盘输三个int,并求最值;

    完成几个小代码练习?让自己更加强大?学习新知识回顾一下基础? 1.输入数组计算最大值 2.输出数组反向打印 3.求数组平均值与总和 4.键盘输两int,并求总和 5.键盘输三个int,并求最值 /* ...

  5. 2017.10.19 java中的关键词 及软件开发的一些重要单词

    1.java中的关键词 ·final 最后的 (1)可以修饰表示该类不能被继承 (2)可以修饰方法不能被重写 ·sattic 静态的 类的 (1)修饰属性 可以通过类直接调用 可以通过对象调用 (2) ...

  6. java小心机(2)| 重载和构造器的小细节

    每天进步一点点,距离大腿又近一步! 阅读本文大概需要10分钟 java小心机,为你诉说java鲜为人知的一面 涉及基本数据类型的重载 基本类型能从一个"较小"的类型自动提升到&qu ...

  7. 20172319 2018.10.19《Java程序设计教程》第7周课堂实践(补写博客)

    20172319 2018.10.19 <Java程序设计教程>第7周课堂实践 课程:<程序设计与数据结构> 班级:1723 学生:唐才铭 学号:20172319 指导老师:王 ...

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

    王利国的"Java语言程序设计第5次作业(2018)"详细 主页 我的作业列表 作业结果详细 总分:100 选择题得分:50  1. 以下哪一个工具是Java的编译器?( ) A. ...

  9. < JAVA - 大作业(2)仿qq即时通讯软件 >

    < JAVA - 大作业(2)仿qq即时通讯软件 > 背景 JAVA上机大作业:设计一个仿qq即时通讯软件 任务简要叙述:设计一款仿QQ的个人用户即时通讯软件,能够实现注册,登陆,与好友聊 ...

随机推荐

  1. 集美大学网络1413第十三次作业成绩(团队八) -- 第二次项目冲刺(Beta阶段)

    题目: 团队作业8--第二次项目冲刺(Beta阶段) 团队作业8-成绩:  团队/分值 新加入成员 角色 技术特点 改善的功能. 原因. bug 新增功能. 方法. 如何实现 团队分工改进. 原因 改 ...

  2. 201521123049 《JAVA程序设计》 第3周学习总结

    1. 本周学习总结 1.学习了对象与类的定义: 2.掌握了构造函数与其重载: 3.学会了this关键字的利用: 4.明白了静态变量与非静态变量的区分. 下面是对本周学习的图片小结: 2. 书面作业 Q ...

  3. 201521123004 《Java程序设计》第3周学习总结

    1. 本周学习总结 (1)①使用构造函数(constructor) eg:Date now = new Date(); new Date(); //创建了一个Date对象 now是Date类型变量,存 ...

  4. 201521123098 《Java程序设计》第2周学习总结

    1. 本周学习总结 1. 熟悉了一些码云中储存eclipse中代码的操作,利于随时储存代码,避免U盘丢失导致代码丢失的问题: 2. 了解了如何从码云中提取已储存的代码: 3. 学会了如何创建动态数组, ...

  5. Android四大组件(详细总结)

    android四大组件分别为activity.service.content provider.broadcast receiver. 一.android四大组件详解 1.activity (1)一个 ...

  6. sublime text 按下Ctrl + B 显示空白的解决办法

    环境:windows xp , sublime text 2 条件:环境变量也已经设置好,可是无论怎么编译都是空白,如图: 于是鄙人百度之,发现不少网友都有这样的问题,但是网上给出的的解决方案千篇一律 ...

  7. ASCII中关于大小写字母间隔为32的思考

    一直没有搞清楚为什么在ASCII中要把大小写字母的间隔设置为32,今天才发现这样设置的精妙之处:方便了程序对大小写字母进行转换.请看: ================= 十进制        32 ...

  8. 201521123032 《Java程序设计》第14周学习总结

    0. 本周课程设计发布 Java课程设计 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多数据库相关内容. 2. 书面作业 1. MySQL数据库基本操作 建立数据库,将自己的姓 ...

  9. 从GO内存模型与调用协议理解defer closure的坑

    资料参考: 官网defer介绍: https://blog.golang.org/defer-panic-and-recover 深入解析go: 多值返回: https://tiancaiamao.g ...

  10. 编程从入门到提高,然后放弃再跑路(Java)

    1.Java入门篇 1.1 基础入门和面向对象 1.1.1 编程基础 [01] Java语言的基本认识 [02] 类和对象 [03] 类的结构和创建对象 [04] 包和访问权限修饰符 [05] 利用p ...