一、方法的定义
1.方法中的元素
(1)方法的名称;
(2)方法的指令;
(3)方法的形参;
(4)方法中的返回值类型,若无返回值,则设置为void;
(5)其他的修饰信息,例如public、static等。
2.方法的标准格式
public static 方法的返回值类型 方法名 (形参列表){
方法中的指令;
return 返回值;
}
二、方法的调用
几个重要元素
(1)调用的是哪个方法,方法名称;
(2)本次使用中使用的具体值是多少,即实参为多少;
(3)调用方法后返回值的后续处理。
三、具体使用
1.猜数字游戏
代码如下:
public class Main {
public static void main(String[] args) {
Random random = new Random();
//先生成一个[1,100]的随机数字,猜数字游戏
Scanner scanner = new Scanner(System.in);
//用户输入一个数字
int guess = random.nextInt(100)+1;
//将随机的范围从默认的[0,99)+1变为[1,100]
System.out.println("请输入猜的数字");
while(true){
int num = scanner.nextInt();
if ( num>guess){
System.out.println("大了");
}else if(num<guess){
System.out.println("小了");
}else {
System.out.println("正确");
}
}
double result = calcSeries(100);//创建方法
System.out.println(result);
}
2.求1/1-1/2+1/3........1/(n-1)-1/n
代码如下:
public static double calcSeries(int bound) {
//数列求和 1/1-1/2+1/3......+1/(n-1)-1/(n) n自己取值
// 项与项之间的相加
double sum = 0;
for (int i = 1; i <= bound; i += 2) {
//每次循环处理两项
// calcItems相当于将两项并为一项,不必考虑正负号问题
sum += calcItems(i);
}
return sum;
}
public static double calcItems(int i) {
double result = 0;
result = 1.0/i -1.0/(i+1);
return result;
}
3.求最大公约数
代码如下:
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int m = scanner.nextInt();
int ret = qiuGong(m, n);
System.out.println(ret);
}
public static int qiuGong(int m, int n) {
int min = qiuMin(m,n);
int i = 0;
for (i=min;i>0;i--){
if (m%i==0&&n%i==0){
return i;
}
}
return 1;
}
public static int qiuMin(int m, int n) {
if (m>n){
return n;
}else {
return m;
}
}
4.设置密码,输入密码错误三次则退出程序
代码如下:
public static String typePassword(Scanner scanner) {
System.out.println("请设置密码:>");
return scanner.nextLine();
}
public static boolean varifyPassword(Scanner sc, String actualPassword, int trytimes) {
for (int i = 1; i <= trytimes; i++) {
System.out.println("请输入密码:>");
String tryPassword = sc.nextLine();
if (actualPassword.equals(tryPassword)) {
return true;
}
if (i != trytimes) {
System.out.printf("密码错误,还有%d次尝试机会%n", trytimes -i);
}
}
return false;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String password = typePassword(sc);
if (varifyPassword(sc, password, 3)) {
System.out.println("登录成功");
} else {
System.out.println("密码错误,登陆失败");
}
}
}