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;
}
}
随便写的,小白一个====