如何保证输入的是整数而非Scanner
输入方式错误
正确输入
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类里面的实例方法转换不能强转