赞
踩
先看任务要求(源代码在下方,我建议你们先看任务分析)
乍一看,不就五个简单方法组成的一个大题目吗?
我在eclipse半小时敲完程序,完美运行,看eclipse运行结果
我顺便把源代码放出来
有点小长……
然后怀着激动的心情准备通关educoder的时候,好家伙,下面一片红
好家伙,我直接吐血
那就按他报错来改吧,说的第十行错误,可谁知到底是不是第十行错误
我干脆把后面代码全注释了,一个个方法试着运行这样改
不用void那我直接“int”、“return”行不行!
改完后看来前两个方法已经没问题了
我以为是上一次没有使用“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 **********/
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。