Java多个返回值的三种方法

Java多个返回值的三种方法

下面展示一些 内联代码片

里面有三种多个返回值使用方法
package text1;
import java.util.Scanner;//键盘输入
import java.util.HashMap;
import java.util.Map;
public class text1 {

	private static int size=15;
	private String[][] board=new String[size][size];
	public void intboard() {
		for(int i=0;i<size;i++) {
			for(int j=0;j<size;j++) {
				//System.out.print("十");
				board[i][j]="十";
			}
			}
	}
	public void printboard() {
		for(int i=0;i<size;i++) {
			for(int j=0;j<size;j++) {
				System.out.print(board[i][j]);
			}
			System.out.println("");
		}
	}
	/*返回多个值一
	  * 法1:使用集合类 (Map以外的集合类也可以随意使用)
	  * 目标:返回一个数组的最大值和最小值
	 */
	public Map<String,Integer> return1(int[] arr){
		Map<String,Integer> map =new HashMap<String,Integer>();
		Scanner scanner=new Scanner(System.in);
		System.out.println("输入棋子的横坐标:");
		int i=scanner.nextInt();
		System.out.println("输入棋子的纵坐标:");
		int j=scanner.nextInt();
		int re1=Integer.MIN_VALUE;
		int re2=Integer.MAX_VALUE;
		re1=i;
		re2=j;
		map.put("re1",re1);
		map.put("re2", re2);
		return map;
	}
	/*返回多个返回值二方法2:
	  * 使用封装对象
	 */
	public Result return2(int[] arr) {
		Result result =new Result();
		int r1=Integer.MAX_VALUE;
		int r2=Integer.MAX_VALUE;
		Scanner scanner=new Scanner(System.in);
		System.out.println("输入棋子的横坐标:2");
		int i=scanner.nextInt();
		System.out.println("输入棋子的纵坐标:2");
		int j=scanner.nextInt();
		r1=i;
		r2=j;
		result.setR1(r1);
		result.setR2(r2);
		return result;
	}
	/*返回多个返回值三方法3:使用引用传递 (不适用基本类型及其封装类和String类型)
	  * 目标:返回数组长度
	 */
	public int return3(int[] arr,Result result3) {
		int r1=Integer.MAX_VALUE;
		int r2=Integer.MIN_VALUE;
		Scanner scanner=new Scanner(System.in);
		System.out.println("输入棋子的横坐标:3");
		int i=scanner.nextInt();
		System.out.println("输入棋子的纵坐标:3");
		int j=scanner.nextInt();
		r1=i;
		r2=j;
		result3.setR1(r1);
		result3.setR2(r2);
		int total=arr.length;
		return total;
	}
	public static void main(String[] args) {
		text1 text=new text1();
		text.intboard();//画棋盘
		//返回值测试
		int[] arr= {1,2,3,4,5,6};
		//第一种返回值测试:
		Map<String,Integer> map=text.return1(arr);
		System.out.println("返回第一个值:"+map.get("re1"));
		System.out.println("返回第二个值:"+map.get("re2"));
		arr[1]=map.get("re1");
		arr[2]=map.get("re2");
		//第二种返回值测试:
		Result result=text.return2(arr);
		System.out.println("返回第一个值2:"+result.getR1());
		System.out.println("返回第二个值2:"+result.getR2());
		//第三种测返回值测试==
		Result result3=new Result();
		int total=text.return3(arr,result3);
		System.out.println("total:"+total);
		System.out.println("返回第一个值3:"+result3.getR1());
		System.out.println("返回第二个值3:"+result3.getR2());
		//输出棋盘
		text.board[arr[1]][arr[2]]="●";
		text.printboard();	
	}
}
class Result{
	int r1;
	int r2;
	//构造函数
	public Result() {
		super();
	}
	public int getR1() {
		return r1;
	}
	public void setR1(int r1) {
		this.r1=r1;
	}
	public int getR2() {
		return r2;
	}
	public void setR2(int r2) {
		this.r2=r2;
	}
}

随便写的,小白一个====

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值