工作中,一段代码只用一次的情况一般很少,通常一段代码会重复使很多次,有时还会对某一段代码某一个作用进行修改,这时,我们该怎么办呢?复制多段代码?这倒是一个好的想法!但如果要修改呢,我们还要一个一个的去修改?这样是不是太麻烦了?有没有更好的办法呢?答案是肯定的。我们只需要写一次就可以在任何一个地方调用很多次。这就是下面我要说的——“方法”;
方法的思想;分而治之。把一个大问题分成若干个小问题,各自独立,在我们要使用的时候调用他,不管在那调用多少次都行,这样就把我们前面的问题解决了;
下面就一起来看看方法是个什么样子吧:
首先是他的格式:
返回类型 方法名 (参数列表){
声明和语句
……
}
比如:public static void main (String[ ]args){
语句……
}
public (公共的)类名修饰符1;static(静态的)类名修饰符2;void(不返回)返回类型,返回的值的类型;main(主方法)方法名,方法名可自定义(main方法除外)命名的规则和变量一样;(String[ ]args)参数;
* main方法里的参数称为实参,被调用的方法里的参数称为形参;
*main方法里调用的方法名和被调用的方法名必须一致。
调用方法时应该注意的事项:
1、方法名必须正确;即main方法里调用的方法名和被调用的方法名必须一致。
2、参数个数必须一致。
3、方法类型必须一致。
4、参数顺序必须一致(实参名和形参名可不一样)。
*返回类型只能一个,接收类型则可有多个。
下面是我改的昨天的那个Atm机的代码:
import java.util.Scanner;
public class Atm1 {
static Scanner Scan = new Scanner(System.in);
static String user = "123";
static String passWord = "123";
static int num = 0;
static float money = 100000.0f;
public static void main(String[] args) {
wellcome();
enter();
while (true) {
choice();
switch (num) {
case 1:
see_About();
break;
case 2:
memory();
break;
case 3:
get();
break;
case 4:
amend();
break;
case 5:
close();
break;
}
}
}
// 欢迎界面
public static void wellcome() {
System.out
.println(" -------------------- ");
System.out
.println(" -----------欢迎------------- ");
System.out
.println(" ---------------使用--------------- ");
System.out
.println(" -----------------本行------------------- ");
System.out
.println(" -----------A T M------------- ");
System.out
.println(" ---------------------------------------- ");
System.out
.println(" ---------农行--------- ");
}
// 登录页面
public static void enter() {
System.out
.println(" ------------------------------- 登 - 录 --------------------------------- ");
int i = 0;
boolean flag = false;
do {
System.out.println("请输入你的用户名:");
String userName = Scan.next();
if (user.equals(userName)) {
System.out.println("请输入你的密码:");
String passWord1 = Scan.next();
if (passWord.equals(passWord1)) {
System.out.println("登录成功!");
flag = true;
break;
} else {
System.out.println("输入密码错误请重新输入密码");
}
} else {
System.out.println("你的用户名有问题!");
}
i++;
} while (i < 3);
if (!flag) {
System.out.println("输入超过3次!");
System.exit(0);
}
}
// 选择页面
public static void choice() {
System.out.println(" 1、查询 2、存钱 3、取钱 4、改密码 5、退出 ");
System.out.print("请选择你的操作:");
num = Scan.nextInt();
if (num > 5) {
System.out.println("选择不正确!");
}
}
// 查询
public static void see_About() {
System.out.println("查询");
System.out.println("你的余额:" + money);
System.out.println("返回主菜单:");
}
// 存钱
public static float memory() {
System.out.println("存钱");
System.out.println("请输入你要存的数额:");
float money2 = Scan.nextFloat();
money = money + money2;
System.out.println("返回主菜单:");
return money;
}
// 取钱
public static float get() {
System.out.println("取钱");
System.out.println("请输入你要取的数额:");
float money3 = Scan.nextFloat();
if (money3 <= 0) {
System.out.println("请输入正整数!");
} else if (money3 > money) {
System.out.println("你的余额不够");
}// else if(money3%100 ==0){
// }
else {
money = money - money3;
}
System.out.println("返回主菜单:");
return money;
}
// 改密码
public static String amend() {
System.out.println("改密码");
System.out.println("请输入你的原始密码:");
String passWord1 = Scan.next();
if (passWord.equals(passWord1)) {
System.out.println("请输入你的新密码:");
String passWord2 = Scan.next();
System.out.println("请再次输入你的新密码:");
String passWord3 = Scan.next();
if (!passWord2.equals(passWord3)) {
System.out.println("两次输入的密码不一样!");
} else {
System.out.println("修改成功!");
}
} else {
System.out.println("密码错误请重新输入!");
}
System.out.println("返回主菜单:");
return passWord;
}
// 退出
public static void close() {
System.out.println("退出");
System.exit(0);
}
}
. 豆豆
浙公网安备 33010602011771号