第1关:如何定义方法
本关任务:定义一个用来和老师打招呼的方法。
package step1;
public class HelloWorld {
/********** Begin **********/
//定义一个方法,用来和老师打招呼
public static void helloEducoder() {
System.out.println("hello teacher!");
}
/********** End **********/
public static void main(String[] args) {
/********** Begin **********/
//调用方法
helloEducoder();
/********** End **********/
}
}
第2关:掌握无参有返回值方法的调用
定义一个方法,用来计算两门课程成绩的平均值,并返回结果。
package setp7;
public class HelloWorld {
public static void main(String[] args) {
/********** Begin **********/
// 调用calcAvg()方法,并将返回值保存在变量avg中
double avg = calcAvg();
/********** End **********/
System.out.println("平均成绩为:" + avg);
}
// 定义一个返回值为double类型的方法
/********** Begin **********/
public calcAvg() {
double java = 92.5;
double php = 83.0;
double avg = (java + php) / 2; // 计算平均值
// 使用return返回值
return avg;
/********** End **********/
}
}
第3关: 掌握有参数无返回值方法的调用
本关任务:编写带参方法计算两门课程考试成绩的平均分。
package setp9;
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int score1 = sc.nextInt(); //第一门成绩
int score2 = sc.nextInt(); //第二门成绩
/********** Begin **********/
// 调用方法,传入两门课程的成绩
calcAvg( score1,score2 );
/********** End **********/
}
/*
* 功能:计算两门课程考试成绩的平均分并输出平均分
* 定义一个包含两个参数的方法,用来传入两门课程的成绩
*/
/********** Begin **********/
public static void calcAvg(int score1,int score2){
int avg=(score1+score2)/2;
System.out.print("平均分:"+avg);
}
/********** End **********/
}
第4关:掌握有参数有返回值方法的调用
本关任务:定义一个有参数有返回值方法(函数)并调用。
package step3;
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
HelloWorld hello=new HelloWorld();
Scanner sc = new Scanner(System.in);
int i = sc.nextInt(); //获取第一个输入的整数
int j = sc.nextInt(); //获取第二个输入的整数
int max = getMax(i,j);
/********** Begin **********/
//在这里调用方法获取返回值
System.out.println( i+"和"+j+"比较,最大值是:" + max );
/********** End **********/
}
/*在这里创建getMax方法,以两个整数作为参数,返回两个整数中较大的值*/
/********** Begin **********/
public static int getMax(int i,int j){
if(i>j) return i;
else return j;
}
/********** End **********/
}
第5关:掌握数组作为参数的使用
本关任务:将考试成绩排序并输出,返回成绩的个数。
package setp10;
import java.util.Arrays;
public class HelloWorld {
public static void main(String[] args) {
HelloWorld hello=new HelloWorld();
int[] scores={79,52,98,81};
/********** Begin **********/
//调用方法,传入成绩数组,并获取成绩的个数
int count=sort(scores);
/********** End **********/
System.out.println("共有"+count+"个成绩信息!");
}
/*
* 功能:将考试成绩排序并输出,返回成绩的个数
*
*/
/********** Begin **********/
public static int sort( int[] data ){
// 数组从小到大排序处理
for(int i=0;i<data.length-1;i++){
for(int j=i+1;j<data.length;j++){
if(data[i]>data[j])
{
int temp=data[i];
data[i]=data[j];
data[j]=temp;
}
}
}
// 打印出数组
System.out.print("[");
for(int i=0;i<data.length-1;i++){
System.out.print(data[i]+", ");
}
System.out.print(data[3]+"]");
System.out.println();
//返回数组中元素的个数
return data.length;
}
/********** End **********/
}
第6关:方法的重载
本小节需要你掌握一个Java
方法重载的小程序,在每一个重载的方法中打印相应的语句。
package setp15;
public class HelloWorld {
public static void main(String[] args) {
/********** Begin **********/
// 调用无参的方法
print();
// 调用带有一个字符串参数的方法
print("educoder");
// 调用带有一个整型参数的方法
print(666);
/********** End **********/
}
/********** Begin **********/
// 无参print方法的定义
public static void print(){
System.out.println("无参的print方法");
}
// 字符串print方法的定义
public static void print(String name){
System.out.println("带有一个字符串参数的print方法,参数值为:"+name);
}
// 整型print方法的定义
public static void print(int id){
System.out.println("带有一个整型参数的print方法,参数值为:"+id);
}
/********** End **********/
}
第8关:方法通关挑战
本关任务:
-
定义一个方法,接收两个
int
类型的参数a
和b
,求两个数的和,方法名为:getSum
; -
定义一个方法,接收三个
double
类型参数a
,b
,c
, 返回这三个数的平均值 返回值类型为double
,方法名为:getAvg
; -
定义一个方法,接收两个整数
a
和b
打印a
行b
列的一个矩形,方法名为:printRect
; -
定以一个方法,接收整形数组为参数,对这个数组进行升序排序,最后输出该数组,方法名为:
sortArr
; -
定义一个方法,完成
99
乘法表的打印,方法名为 :Print99
。
package setp17;
import java.util.Arrays;
import java.util.Scanner;
public class HelloWorld {
/********** Begin **********/
/**
* 第一题:定义一个方法 接收两个整数类型的参数 a和b,返回两个数的和 返回值类型为int 方法名为:getSum
*/
public static int getSum(int a ,int b){
int sum = a + b;
return sum;
}
/**
* 第二题: 定义一个方法 接收三个double类型参数a,b,c, 返回这三个数的平均值 返回值类型为double 方法名为:getAvg
*/
public static double getAvg(double a ,double b,double c){
double avg = (a + b + c) / 3;
return avg;
}
/**
* 第三题: 定义一个方法 接收两个参数 a 和b 打印a行 b列的一个矩形 不需要返回值 方法名为:printRect
*/
public static void printRect(int a , int b){
for (int i = 1 ; i <= a ;i++) {
for (int k = 1 ; k <= b;k++){
System.out.print("*");
}
System.out.println();
}
}
/**
* 第四题:定以一个方法,接收整形数组 为参数 对这个数组进行升序排序 最后输出该数组 不需要返回值 方法名为 sortArr
*/
public static void sortArr(int[] arr){
for(int i = 0; i< arr.length-1;i++){
for(int j = i+1; j< arr.length;j++){
if(arr[i] > arr[j]){
int tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
}
}
for(int i = 0; i< arr.length;i++){
System.out.println(arr[i]);
}
}
/**
* 第五题
* 你只需要实现for 循环括号的内容就可 ,打印语句系统已经给你完成
*/
public static void Print99() {
for (int i = 1 ; i<=9;i++) {
for (int j = 1;j <= i ;j++) {
System.out.print(j + " * " + i + " = " + i * j + "\t");
}
System.out.println();
}
}
/********** End **********/
}
更多推荐
头歌实践教学平台:Java入门 - 方法的使用
发布评论