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 **********/
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鬼鬼骑士

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值