初学编程,思路都明白就是写不出来代码怎么办?
Posted 传智教育官方博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初学编程,思路都明白就是写不出来代码怎么办?相关的知识,希望对你有一定的参考价值。
说点可落地的方法,初期接触编程直接可用。而不是前面几楼那种大摞的书,不一定能帮你写代码不说,还有可能直接劝退你。
首先看问题说明已经有思路了,问题都能想通。那么就有一个特简单的方法:
把实现思路边分析边记录下来
(在分析实现思路的时候一边分析一边写,用中文写,约详细越好),比如:
//第一步是要干什么
//第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;
}
}
如果经过上面这样的练习之后还是写不出来代码的话,这样的情况一般是出现在初学者身上,其实只有一个原因就是代码写的太少了。用上面方法多多变通来写,一边分析一遍写思路,最后写代码。
大多数人都有写不出代码的时候,就是紧着会的先写,能写多少写多少的原则。
以上是关于初学编程,思路都明白就是写不出来代码怎么办?的主要内容,如果未能解决你的问题,请参考以下文章
(如数据结构算法题)编程不是难在处理问题的思路,而在用代码将思路描述出来。