第五天:数组、方法和字符串

  1. 一维数组

定义数组的语法:

T[] x = new T[size];
T[] y = { value1, value2, ... };
  • 操作数组元素可以使用下标运算[ ],数组的下标范围0-(数组大小-1)。
  • 数组有一个length属性表示数组元素的个数。
  • 通常可以用循环来对数组中的元素进行操作。

练习1:录入5名学生的成绩,计算平均分,找出最高分和最低分。

package com.lovoinfo;import java.util.Scanner;public class Test01 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String[] names = {"关羽", "张飞", "赵云", "黄忠", "马超"};double[] scores = new double[5];double sum = 0;for(int i = 0; i < scores.length; i++) {System.out.print("请输入" + names[i] + "的成绩: ");scores[i] = sc.nextDouble();sum = sum + scores[i];}System.out.println("平均分为: " + sum / scores.length);int maxIndex = 0, minIndex = 0;for(int i = 1; i < scores.length; i++) {if(scores[i] > scores[maxIndex]) {maxIndex = i;}else if(scores[i] < scores[minIndex]) {minIndex = i;}}System.out.println(names[maxIndex] + "考了最高分" + scores[maxIndex]);System.out.println(names[minIndex] + "考了最低分" + scores[minIndex]);sc.close();}
}

练习2:输出前20个Fibonacci数。
1, 1, 2, 3, 5, 8, 13, 21, 34, …

package com.lovoinfo;/*** 输出前20个Fibonacci数* @author jackfrued**/
public class Test04 {public static void main(String[] args) {int[] f = new int[20];f[0] = f[1] = 1;for(int i = 2; i < f.length; i++) {f[i] = f[i - 1] + f[i - 2];}for(int x : f) {System.out.println(x);}}
}

练习3:随机产生10个数,并对其进行排序。

package com.lovoinfo;public class Test05 {public static void main(String[] args) {int[] a = new int[10];System.out.println("排序前: ");for (int i = 0; i < a.length; i++) {a[i] = (int) (Math.random() * 100);System.out.print(a[i] + "\t");}bubbleSort(a);System.out.println("\n排序后: ");for (int x : a) {System.out.print(x + "\t");}}/*** 冒泡排序* @param a 待排序的数组*/public static void bubbleSort(int[] a) {// N个元素排序需要N-1趟循环for (int i = 0; i < a.length - 1; i++) {// 相邻元素两两比较for(int j = 0; j < a.length - 1 - i; j++) {if(a[j] > a[j + 1]) {   // 如果前面元素大于后面元素就交换int temp = a[j];a[j] = a[j + 1];a[j + 1] = temp;}}}}/*** 简单选择排序* @param a 待排序的数组*/public static void selectionSort(int[] a) {for (int i = 0; i < a.length - 1; i++) {int minIndex = i; // 假设当前的i是最小元素所在的位置for (int j = i + 1; j < a.length; j++) {if (a[j] < a[minIndex]) { // 发现更小的元素minIndex = j; // 记录更小的元素所在的位置}}// 将i位置上的元素和最小元素交换位置int temp = a[i];a[i] = a[minIndex];a[minIndex] = temp;}}
}
  1. 二维数组

练习4:输入5个学生三门课的成绩,计算每个学生的平均分以及每门课程的平均分。

package com.lovoinfo;import java.util.Scanner;public class Test07 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String[] stuNames = {"关羽", "张飞", "赵云", "黄忠", "马超"};String[] subNames = {"语文", "数学", "英语"};int[][] scores = new int[stuNames.length][subNames.length];for(int i = 0; i < scores.length; i++) {System.out.println("请录入" + stuNames[i] + "的成绩");for(int j = 0; j < scores[i].length; j++) {System.out.print("\t" + subNames[j] + ": ");scores[i][j] = sc.nextInt();}}// 后面的代码自行完成sc.close();}
}

练习5:输出10行杨辉三角。

package com.lovoinfo;/*** 杨辉三角* @author jackfrued**/
public class Test08 {public static void main(String[] args) {int[][] y = new int[10][];for(int i = 0; i < y.length; i++) {y[i] = new int[i + 1];for(int j = 0; j < y[i].length; j++) {if(j == 0 || j == i) {y[i][j] = 1;}else {y[i][j] = y[i - 1][j] + y[i - 1][j - 1];}}}for(int[] a : y) {for(int b : a) {System.out.print(b + "\t");}System.out.println();}}
}

练习六:用数组求平均值

package day10150428;import java.util.Scanner;/*** 利用二维数组来做学生的平均成绩,科目成绩。* * @author 谷振东**/
public class Test06 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String[] stuNames = { "吕布", "赵云", "诸葛亮", "司马懿", "周瑜" };String[] subNames = { "语文", "体育", "科学" };int[][] scores = new int[stuNames.length][subNames.length];for (int i = 0; i < scores.length; i++) {double sum = 0;//求各个学生成绩总和。System.out.println("请录入"+ stuNames[i] + "成绩");for (int j = 0; j < scores[i].length; j++) {System.out.print("\t" + subNames[j] + ":" );scores[i][j] = sc.nextInt();sum += scores[i][j];//sum = sum + scores[i][j];//作业:统计出每个学生的平均成绩,和学生科目平均成绩。    }System.out.println(stuNames[i]+"平均成绩:"+ sum/3+"分");}System.out.println();}
}
  1. 方法的定义和使用
  2. 方法的递归调用
  3. 字符串用法及常用方法

第五天:数组、方法和字符串day0428相关推荐

  1. js笔记(三)ES5、ES5新增的数组的方法、字符串的方法、字符编码、对象的序列化和反序列化、bind

    数组方法.字符串方法总结 大目录 小目录 一.ES5严格模式 1. 严格模式: 2. 严格模式的行为变更: 二.ES5新增的数组的方法 1. 判断是否为数组:Array.isArray(): 2. 判 ...

  2. 前后端交互必备之js数组方法大全

    CSDN写作新手,写的不妥之处,请大佬纠正且多多包涵. 文章目录 数组简介 一.js数组方法 二.js数组方法的使用 1.基础方法 2.进阶方法 数组简介 数组,就是将多个元素(通常是同一类型)按一定 ...

  3. 《C指针》学习笔记( 第四、五章)指针与字符串、指针与多维数组

    第四章:指针与字符串 字符串就是字符序列.它存储的是字节数组.一个特殊字符串结束符是用来标记字符串的结束.结束符用转义序列'\0'表示. 定义字符串变量的方法 char *strptr = " ...

  4. python定义字符串数组_从字符串数组(或元组)在Python中创建动态sql“ in list”子句的“最佳”方法是什么?...

    我正在从Python(使用MySQLDb)运行一个动态MySQL查询,该查询包括一个包含字符串值的" in list"子句.执行此功能的函数将获取一个值数组.如果有帮助,我可以将该 ...

  5. 【Groovy】Groovy 方法调用 ( 字符串切割 | 使用 Java 语法切割字符串 | 使用 Groovy 语法切割字符串直接为变量赋值 | 数组赋值给变量 变量个数小于等于数组长度 )

    文章目录 一.字符串切割 1.使用 Java 语法切割字符串 2.使用 Groovy 语法切割字符串直接为变量赋值 3.数组赋值给变量 变量个数小于等于数组长度 二.完整代码示例 一.字符串切割 在 ...

  6. 【Android NDK 开发】JNI 方法解析 ( 字符串数组参数传递 | 字符串遍历 | 类型强转 | Java 字符串与 C 字符串转换 | 字符串释放 )

    文章目录 I . C/C++ 中的 Java 字符串数组类型 II . 获取字符串数组长度 III . 获取字符串数组元素 IV . 类型强转 ( jobject -> jstring ) V ...

  7. php 字符串转换xml,php 数组转xml字符串、xml字符串转数组方法案例

    数组转xml字符串方法:两种方法/** * 数组转xml字符串方法1 * @param  arary $data 数组数据 * @param  boolean $type 是否需要根节 */ func ...

  8. Java数组去重的多种方法,[Java教程]JavaScript常见的五种数组去重的方式

    [Java教程]JavaScript常见的五种数组去重的方式 0 2016-12-14 15:00:17 ▓▓▓▓▓▓ 大致介绍 JavaScript的数组去重问题在许多面试中都会遇到,现在做个总结 ...

  9. js字符串方法、数组方法整理

    push 向数组末尾添加一项 返回值为数组的长度: pop 删除数组最后一项: unshift 向数组开头增加一项: shift 删除数组第一项: splice 删除数组中的值:1 splice(n, ...

最新文章

  1. XML的介绍和PHP对XML的应用
  2. 【LSH源码分析】p稳定分布LSH算法
  3. Anolis 安装图解
  4. curl -O 下载文件
  5. 熬夜肝完这份Framework笔记,已拿到offer
  6. 四宫格效果 css_【深度教研】智力游戏“九宫格” 集体教研活动纪实
  7. leetcode - 437. 路径总和 III
  8. Bootstrap3 轮番插件的使用方法
  9. 狗头金一般什么地方有?
  10. php多进程采集百度,php实现多进程下载百度网盘文件
  11. 很幽默的讲解六种Socket I/O模型C++程序设计
  12. ajax split len,jQuery Mobile中的data属性
  13. matlab xlsread 日期,为什么Xlsread读取(日期时间)为字符串
  14. 【01月11日】【精彩电影合集】【10部】【亲测】【Lsyq5647发布】
  15. 玩游戏计算机缺失msvcp140,绝地求生计算机丢失MSVCP140.dll解决办法
  16. element-ui校验表单只能输入数字
  17. 自定义竖向SeekBar (VerticalSeekBar)
  18. 年报发布后股价三连涨,神州租车何以成为 “方舱号”?
  19. PTA 作业 福到啦
  20. kdb+ 是怎么学下去的

热门文章

  1. Android-SauSun Studio
  2. 嵌入式C语言循环控制语句
  3. php 时间戳 24小时制,php如何将时间戳转换成小时制
  4. asio 高性能服务器,基于高性能网络库Asio的测控服务器设计与实现
  5. html5正则表达式语法,正则表达式 – 语法 | 菜鸟教程
  6. 1-C语言开发环境的搭建
  7. Frida和IDA分析OLLVM控制流程平坦化
  8. 英雄联盟怎么解除小窗口_英雄联盟S11BUG怎么卡_英雄联盟S11BUG卡法教学
  9. 查表法解决十进制转换十六进制(Java)
  10. 电脑一打开wps就黑屏_如何解决电脑打开黑屏只显示鼠标的问题