说点可落地的方法,初期接触编程直接可用。而不是前面几楼那种大摞的书,不一定能帮你写代码不说,还有可能直接劝退你。

首先看问题说明已经有思路了,问题都能想通。那么就有一个特简单的方法:

把实现思路边分析边记录下来

(在分析实现思路的时候一边分析一边写,用中文写,约详细越好),比如:

  //第一步是要干什么
  //第1.1要做什么
  //第1.2要做什么
  //....
  //第二步是要干什么
  //第2.1要做什么
  //第2.2要做什么 
  //....
  //.......以此类推 

遇到写不下去的地方,看看是不是思路出现问题了,如果是没有思路了,重新捋一遍思路。

这样可以强迫大家随时思考代码,并且细致考虑。

当一切思路都清楚之后,按照思路步骤也写好注释了,这时候再写代码。如果你只有前面几步是清楚的,也没关系,能想清楚什么思路就写多少代码。慢慢来…

举例说明吧,先说一个初学者适合的学习思路,再说一个简单的综合案例。大家按照自己的学习进度来参照下面内容。

案例一:数组遍历—求和

需求:
某个部门5名员工的销售额分别是:16、26、36、6、100,请计算出他们部门的总销售额。

分析:
第一步:把这5个数据拿到程序中去 —> 使用数组

int[] money = {16, 26, 36, 6, 100};

第二步:遍历数组中的每个数据,然后在外面定义求和变量把他们累加起来。

int sum = 0;
for (int i = 0; i < money.length; i++) {
     // i = 0 1 2 3 4
     sum += money[i];
 }

案例二:买飞机票

需求:

机票价格按照淡季旺季、头等舱和经济舱收费、输入机票原价、月份和头等舱或者经济舱
按照如下规则计算票价:
5月-10月旺季头等舱9折,经济舱8.5折;
11月-4月淡季头等舱7折,经济舱6.5折;

分析:

定义一个方法可以进行键盘录入机票原价、月份和机舱类型。
使用if判断月份是是旺季还是淡季,使用switch分支判断是头等舱还是经济舱。
选择对应的折扣进行计算并返回计算的结果。

写代码

package com.itheima;

import java.util.Scanner;

/**
     需求:机票价格按照淡季旺季、头等舱和经济舱收费、输入机票原价、月份和头等舱或经济舱。
          按照如下规则计算机票价格:旺季(5-10月)头等舱9折,经济舱8.5折,淡季(11月到来年4月)头等舱7折,经济舱6.5折。
 */
public class Test1 {
    public static void main(String[] args) {
        // 3、录入购买信息,调用方法得到最终结果
        Scanner sc = new Scanner(System.in);
        System.out.println("机票原价:");
        double price = sc.nextDouble();
        System.out.println("月份:");
        int month = sc.nextInt();
        System.out.println("仓位类型(头等舱、经济舱):");
        String type = sc.next();

        double rs = calc(price, month, type);
        System.out.println("您当前购买机票的价格是:" + rs);
    }

    /**
        1、定义一个方法:形参(原价、月份、头等舱经济舱) 返回值类型申明:double
     */
    public static double calc(double money, int month, String type){
        // 2、判断月份是淡季还是旺季
        if(month >= 5 && month <= 10){
            // 旺季
            switch (type){
                case "经济舱":
                    money *= 0.85;
                    break;
                case "头等舱":
                    money *= 0.9;
                    break;
                default:
                    System.out.println("您输入的仓位不正确~~");
                    money = -1; // 当前无法计算价格了!
            }
        }else if(month == 11 || month == 12 || month >= 1 && month <= 4){
            switch (type){
                case "经济舱":
                    money *= 0.65;
                    break;
                case "头等舱":
                    money *= 0.7;
                    break;
                default:
                    System.out.println("您输入的仓位不正确~~");
                    money = -1; // 当前无法计算价格了!
            }
        }else {
            System.out.println("月份有问题");
            money = -1;
        }

        return money;
    }
}

如果经过上面这样的练习之后还是写不出来代码的话,这样的情况一般是出现在初学者身上,其实只有一个原因就是代码写的太少了。用上面方法多多变通来写,一边分析一遍写思路,最后写代码。

大多数人都有写不出代码的时候,就是紧着会的先写,能写多少写多少的原则。

更多推荐

初学编程,思路都明白就是写不出来代码怎么办?