一、知识点(必做):
MethodDemo1.java(重点)
需求:定义求两个整数之和的方法
步骤:
(1)定义方法
确定方法名,修饰符(暂时使用public static)
确定是否需要形式参数
确定是否需要返回
(2)调用方法
确定调用语法(暂时类名调用方法)
确定需要传入什么实际参数
确定是否需要定义变量接收返回值
package _text_day06;
/**
* 需求:定义求两个整数之和的方法
* 步骤:
* (1)定义方法
* 确定方法名,修饰符(暂时使用public static)
* 确定是否需要形式参数
* 确定是否需要返回
*
* (2)调用方法
* 确定调用语法(暂时类名调用方法)
* 确定需要传入什么实际参数
* 确定是否需要定义变量接收返回值
*/
public class MethodDemo1 {
// 确定方法名,修饰符(暂时使用public static),形式参数
public static int getInt(int num1, int num2){
int result =num1+num2;
// 确定返回值
return result;
}
public static void main(String[] args) {
// 定义实参
int num1=20;int num2=10;
// 定义变量接收返回值
int result;
result=getInt(num1,num2);
// 输出结果
System.out.println("两个整数之和 "+result);
}
}
总结:在main方法外定义一个方法,给定形参,根据题意列出关系式,确定是否需要返回值
在main方法内定义实参(给形参赋值),定义变量接受返回值,返回值即输出结果
MethodDemo2.java(重点)
需求2:定义一个方法,传入一个int数组,按照格式打印int类型数组
步骤:
(1)定义方法
(2)实现方法体
(3)调用方法
需求3:定义一个方法,传入一个int数组,返回指定元素在数组中第一次出现的索引
步骤:
(1)定义方法
(2)实现方法体
遍历数组
如果当前元素和指定元素相同,返回当前元素所在的索引
遍历所有元素后,发现找不到则返回-1,表示找不到索引
(3)调用方法
public class MethodDemo2 {
// 定义方法
// 实现方法体
public static void printArr(int[] arr) {
String str = "[";
for (int i = 0; i < arr.length; i++) {
str = str + arr[i];
if (i == arr.length - 1) {
str = str + "]";
} else {
str = str + ",";
}
}
System.out.println(str);
}
public static void main(String[] args) {
int[] arr = new int[]{1, 2, 4, 6, 7};
// 调用方法
MethodDemo2.printArr(arr);
}
}
package _text_day06;
/**
* 需求2:定义一个方法,传入一个int数组,按照格式打印int类型数组
* 步骤:
* (1)定义方法
* (2)实现方法体
* (3)调用方法
* 需求3:定义一个方法,传入一个int数组,返回指定元素在数组中第一次出现的索引
* 步骤:
* (1)定义方法
* (2)实现方法体
* 遍历数组
* 如果当前元素和指定元素相同,返回当前元素所在的索引*
* 遍历所有元素后,发现找不到则返回-1,表示找不到索引
* (3)调用方法
*/
public class MethodDemo2 {
// 定义方法
// 实现方法体
public static int indexOf(int[] arr, int key) {
for (int i = 0; i < arr.length; i++) {
if (arr[i] == key) {
return i;
}
}
return -1;
}
public static void main(String[] args) {
int[] arr = new int[]{1, 2, 4, 6, 7};
// 调用方法
int index = indexOf(arr, 3);
System.out.println(index);
}
}
二、 综合练习(必做):
MethodDemo3.java
需求1:定义一个方法getSum,计算两个整数数组元素的之和,并把求和结果返回。
需求2:定义一个方法printArray,按照格式打印数组中非0的元素,例如{1,0,2,3,0,4,5}打印出来应该为[1,2,3,4,5]
// 思路提示:
// step 1: 声明一个数组int[] arr = {1,0,2,3,0,4,5}
// step 2: 将arr中非0元素保存一个新数组newArr中
// step 3: 把新数组newArr中的元素按照指定格式( [x,x,x] )打印数组元素
需求3:定义一个方法getFactorial,求出n!的结果.阶乘公式为n! = 1*2*...*n
.
//定义一个方法getSum,计算两个整数数组元素的之和,并把求和结果返回。
public class MethodDemo3{
public static void main(String[] args){
int sum = getSum(2,4);
System.out.println("和为:" + sum);
} //求和方法
public static int getSum(int a, int b){
return a + b;
}
}
//定义一个方法printArray,按照格式打印数组中非0的元素,例如{1,0,2,3,0,4,5}打印出来应该为`[1,2,3,4,5]
//定义一个方法getFactorial,求出n!的结果.阶乘公式为`n! = 1*2*...*n`.
public class MethodDemo3{
public static int getFactorial(int n) {
int sum = 1;
int sumn = 0;
for (int i = 1; i <= n; i++) {
sum *= i;
System.out.println(sum);
sumn += sum;
}
System.out.println(“从1到” + n + “的阶乘和为:” + sumn);
return sum;
}
public static void main(String[] args){
getFactorial(10);
}
}
AvgDemo.java
需求:定义一个方法接收一个 int 类型的二维数组,返回所有元素平均值(int 类型)。
提示:
int[] arr = {
{0,1,2},
{3,4}
}
所有元素之和的平均值:( 0 + 1 + 2 + 3 + 4) / 5.0 = 2.0
package _text_day06;
/**
* 需求:定义一个方法接收一个 int 类型的二维数组,返回所有元素平均值(int 类型)。
*/
public class AvgDemo {
public static int getAvg(int aa[][] ){
int sum=0;
for (int i=0;i<aa.length;i++){
for (int j=0;j<aa.length;j++){
sum+=aa[i][j];
}
} return sum/aa.length-2;
}
public static void main(String[] args) {
int[][] aa = {{0,1,2},{3,4}};
int avg= getAvg(aa);
System.out.println(avg);
}
}
三、拓展练习(选做)
CombineDemo.java
需求:定义一个名为combineArrays的方法,以两个int类型的数组arr1和arr2作为参数,实现将arr1和arr2两个数组合并为一个新的一维数组,并返回合并后的新数组。
例如:arr1={1,2},arr2={3,4},则该方法应该返回{1,2,3,4}。
思路:
(1)先求出符合要求的元素个数
(2)创建一个新的数组存放符合要求的元素
(3)将符合要求的元素存放到新的数组中