面试基础-二维数组查找

如何保证输入的是整数而非Scanner
icon

输入方式错误

正确输入

package 面试算法;

import java.util.Scanner;

import javax.print.DocFlavor.INPUT_STREAM;

public class CharFind {

public boolean Find(int s,int[][] matrix) {
	//判断是否为二维数组
	if(matrix==null||matrix.length==0||matrix.length==0) {
		return false;
	}
	//行数与列数
	int rows= matrix.length,cols = matrix[0].length;
	
	int r=0 , c=cols-1;
	while(r<=rows-1&&c>=0) {
		if(s == matrix[r][c])
		{
			return true;
		}else if (s > matrix[r][c]) {
			r++;
		}else {
			c--;
		}
	}
	return false;
}

public static void main(String[] args) {
	//输入二维数组和那个数
	//数组必须给出且数组大小一定
	//需要考虑二维数组数是否重复 查找范围 是全部找到 还是有即可
	int[][] matrix= {{1,2,3,4},{2,3,4,5},{3,4,5,6},{4,5,6,7}};
	@SuppressWarnings("resource")
	Scanner input = new Scanner(System.in);
//	int s=s0;
	int s=input.nextInt();
	System.out.print(s);
	CharFind charfind=new CharFind();
	boolean check=charfind.Find(s, matrix);
	if(check) {
		System.out.println("二维数组里面存在这个数"+s);
	}else {
		System.out.println("二维数组里面不存在这个数"+s);
	}
}

}

使用Scanner类里面的实例方法转换不能强转

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值