本文主要是介绍Educoder-Java入门 - 方法的使用;4小时通关有感,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
先看任务要求(源代码在下方,我建议你们先看任务分析)
乍一看,不就五个简单方法组成的一个大题目吗?
我在eclipse半小时敲完程序,完美运行,看eclipse运行结果
eclipse运行结果
我顺便把源代码放出来
有点小长……
然后怀着激动的心情准备通关educoder的时候,好家伙,下面一片红
educode运行结果
好家伙,我直接吐血
下面是三个小时的改bug时间
那就按他报错来改吧,说的第十行错误,可谁知到底是不是第十行错误
我干脆把后面代码全注释了,一个个方法试着运行这样改
error void type not allowed here
不用void那我直接“int”、“return”行不行!
改完后看来前两个方法已经没问题了
error printRect(sc.nextInt(),sc.nextInt(););
我以为是上一次没有使用“sc.close();”语句,所以才报错,但并不是;
抓头挠耳中,根据前面的语句发现,难道方法中不能使用Scanner?
改:
直接把你scanner注释掉!!
int f = input.nextInt();
int g = input.nextInt();
printRect(f,g);
好家伙,真的有用!
然后披荆斩棘:第四题也同样的改法,scanner注释掉!
方法调用
int arr[] = new int[5];for (int i = 0; i < arr.length ; i++) {arr[i] = input.nextInt();}//遍历数组sortArr(arr);
因为各个编译器支持的代码格式不同,感觉要思考的方向更多了,一个能完美运行,而另一个却报错那么多,看起来是小问题,但是解决起来并不容易
关于educoder输出格式问题我就不再叙述了,那都是小问题
通关源代码(尽量不要抄作业,实在没办法可以借鉴节省时间)
package setp17;import java.util.Scanner;
import java.util.Arrays;public class HelloWorld {/********** Begin **********//*** 第一题:定义一个方法 接收两个整数类型的参数 a和b,返回两个数的和 返回值类型为int 方法名为:getSum*/public static int getSum(int a,int b){int sum = a + b;// System.out.println(sum);return sum;}/*** 第二题: 定义一个方法 接收三个double类型参数a,b,c, 返回这三个数的平均值 返回值类型为double 方法名为:getAvg*/public static double getAvg(double a, double b, double c){double d = (a + b + c) / 3;// System.out.println(d);return d;}/*** 第三题: 定义一个方法 接收两个参数 a 和b 打印a行 b列的一个矩形 不需要返回值 方法名为:printRect*/public static void printRect(int a, int b){// Scanner sc = new Scanner(System.in);// a = sc.nextInt();// b = sc.nextInt();for (int i = 0; i < a; i++) {for (int j = 0; j < b; j++) {System.out.print("*");}System.out.print("\n");}// sc.close();}/*** 第四题:定以一个方法,接收整形数组 为参数 对这个数组进行升序排序 最后输出该数组 不需要返回值 方法名为 sortArr */public static void sortArr(int[] arr){// Scanner input = new Scanner(System.in);
// int [] arr = new int[5];// for (int i = 0; i < arr.length ; i++) {// arr[i] = input.nextInt();// }//遍历数组int g = 0;for (int l = 0; l < arr.length ; l++) {for(int t = 0; t <arr.length -l - 1; t++) {if (arr[t] > arr[t + 1]) {g = arr[t];arr[t] = arr[t + 1];arr[t + 1] = g;}}}for (int j = 0; j < arr.length ; j++) {System.out.println(arr[j]);}}/*** 第五题* 你只需要实现for 循环括号的内容就可 ,打印语句系统已经给你完成 */public static void Print99() {for ( int i = 1; i < 10; i++ ) {for( int j = 1; j <= i; j++ ) {System.out.print(j + " * " + i + " = " + i * j + "\t");}System.out.println();}}public static void main (String[] args) {Scanner input = new Scanner(System.in);int a = input.nextInt();int b = input.nextInt();getSum(a,b);double c = input.nextDouble();double d = input.nextDouble();double e = input.nextDouble();getAvg(c,d,e);int f = input.nextInt();int g = input.nextInt();printRect(f,g);int arr[] = new int[5];for (int i = 0; i < arr.length ; i++) {arr[i] = input.nextInt();}//遍历数组sortArr(arr);Print99();input.close();}}/********** End **********/
这篇关于Educoder-Java入门 - 方法的使用;4小时通关有感的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!