【Java基础学习】浅析什么是方法

Java方法的概念

前言

各种语言都有方法的概念,有的语言称其为函数(如:C语言、JavaScript等),或称其为过程。

 

方法的含义

1、方法用于封装一段特定的逻辑功能;

2、方法可以在程序中反复被调用;

3、方法可以减少代码重复,便于程序的维护。

 

方法的定义

定义方法的五个要素:修饰词、返回值类型、方法名、参数列表、方法体

ex:

public static int sum (int num1 , int num2){
    
    //方法体

}

其中,public 、static 为修饰词;int 为返回值类型;sum 为方法名;int num1和int num2 为参数列表

 

方法在声明时必须指定返回值的类型,若方法不需要返回数据,声明为void;若方法需要返回数据,声明为特定数据类型。

 

理解练习-猜字母游戏,实现游戏等级设定

编程思路


1、设计数据结构 - 变量

ex:

分数:int score;猜错次数:int count;

随机生成数组:char [ ] chs;用户输入数组:char  [ ] input;

结果:int [ ] result;

 

2、设计程序结构 - 方法

ex:

1、随机生成字符数组

2、用户输入字符与生成字符对比

3、main()

 

3、设计实现 - 方法的实现

package myMethod;

import java.util.Scanner;
public class GuessingGame {
	public static void main(String[] args){
		//玩家猜正确次数
		int count = 0;
		//用户猜测数据
		char[] input = new char[5];
		input = null;
		//判断结果
		int[] result = new int[2];
		
		Scanner scanner = new Scanner(System.in);
		System.out.println("GuessingGame>欢迎尝试猜字母游戏!");
		while(true){
			System.out.println("GuessingGame>请输入游戏级别(5,7,9)");
			int inputInt = scanner.nextInt();
			if(inputInt==5||inputInt==7||inputInt==9){
				//所猜字符
				char[] chs = stringArrys(inputInt);
				System.out.println("GuessingGame>游戏开始!请输入你所猜"+inputInt+"个字符序列:(exit-退出)");
				//多次输入,while循环
				while(true){
					String inputStr = scanner.next().trim().toUpperCase();//输入字符序列并大写
					if("EXIT".equals(inputStr)){
						System.out.println("GuessingGame>exit>游戏退出!");
						break;
					}
					input = inputStr.toCharArray();//将字符串转为字符数组;
					//获取对比结果
					result = check(chs,input);
					if(result[0]==chs.length){
						//全对
						int score = 100-count*20;
						System.out.println("GuessingGame>恭喜您全对了!您的得分是:"+score);
						break;
					}else{
						count++;
						System.out.println("GuessingGame>您猜对了"+result[1]+"个字符,其中"+result[0]+"个字符位置正确!"+"总次数:"+count+"(exit-退出)");
					}
				}

			}
		}
	}
	
	//随机生成字符数组
	public static char[] stringArrys(int inputInt){
		char [] stringArrys={'A','B','C','D','E','F','G',
				'H','I','J','K','L','M','N',
				'O','P','Q','R','S','T',
				'U','V','W','X','Y','Z'};
		boolean[] flags = new boolean[stringArrys.length];//创建判断重复标准,且初始化为false
		char[] chs = new char[inputInt];
		for(int i=0;i<chs.length;i++){
			int index;
			do{
				index = (int)(Math.random()*stringArrys.length);
			}while(flags[index]);//判断生成字符是否重复;
			chs[i]=stringArrys[index];
			flags[index]=true;
		}	
		return chs;
	}
	
	//对比方法
	public static int[] check(char[] chs,char[] input){
		int[] result = new int[2];
		for(int i=0;i<input.length;i++){
			for(int j=0;j<chs.length;j++){
				if(input[i]==chs[j]){  //判断字符正确
					result[1]++;       //正确字符个数
					if(i==j){          //判断位置是否正确
						result[0]++;   //正确位置个数
					}
					break;
				}
			}
		}
		return result;
	}
}

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值