为啥不能查询负数

问题描述

我用此方法不能查询数组里面的负数代码如下: import java.util.*; public class SearchDemo {public static void main(String[] args) {Scanner input = new Scanner(System.in);//第一一个变量用来接收数组的索引int index = 0;//定义一个变量用来查询是否存在数组中int searchNum = 0;//定义一个数组int length = 5;int[] ary = new int[length];//循环为数组赋值for(int i=0; i<length; i++) {System.out.print("请输入第"+(i+1)+"个数:");ary[i] = input.nextInt();System.out.println();}System.out.println("**************************************");//用来输出输出Arrays.sort(ary);String ary1 = Arrays.toString(ary);Arrays.toString(ary);System.out.println("所有接收的数据为:"+ary1);System.out.print("请输入要查询的数:");searchNum = input.nextInt();index = Arrays.binarySearch(ary,searchNum);System.out.println(index); } } 问题补充:啊,你这是我的源代码啊,我怎么用windows的dos命令行敲出来就不行啊,我再研究研究,我是一只菜鸟,多谢了chenhailong 写道

解决方案

可以的import java.util.Arrays;import java.util.Scanner;/** * * @author chenhailong * 下午9:32:18 * */public class SearchDemo { public static void main(String[] args) { Scanner input = new Scanner(System.in); // 第一一个变量用来接收数组的索引 int index = 0; // 定义一个变量用来查询是否存在数组中 int searchNum = 0; // 定义一个数组 int length = 5; int[] ary = new int[length]; // 循环为数组赋值 for (int i = 0; i < length; i++) { System.out.print("请输入第" + (i + 1) + "个数:"); ary[i] = input.nextInt(); System.out.println(); } System.out.println("**************************************"); // 用来输出输出 Arrays.sort(ary); String ary1 = Arrays.toString(ary); Arrays.toString(ary); System.out.println("所有接收的数据为:" + ary1); System.out.print("请输入要查询的数:"); searchNum = input.nextInt(); index = Arrays.binarySearch(ary, searchNum); System.out.println(index); }}result:请输入第1个数:1请输入第2个数:2请输入第3个数:12请输入第4个数:-12请输入第5个数:-1**************************************所有接收的数据为:[-12, -1, 1, 2, 12]请输入要查询的数:-11

时间: 2024-10-26 14:13:48

为啥不能查询负数的相关文章

hbase 存储double(负数) -&amp;amp;gt; phoenix查询怎么处理?

问题描述 hbase 存储double(负数) -> phoenix查询怎么处理? phoenix表字段类型:double 使用org.apache.hadoop.hbase.util.Bytes.toBytes(-123D) 存入hbase 查询出来变成:122.99999999999999 org.apache.hadoop.hbase.util.Bytes.toBytes(123D) 存入hbase 查询出来变成:-0.03369140625 求教怎么处理才对? 解决方案 http://w

当以学生身份查询分数时点击查询按钮为啥gridview表不显示

问题描述 usingSystem.Web;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Data;usingSystem.Data.SqlClient;usingSystem.Web.UI.HtmlControls;namespaceChapter8.GradeMS{publicpartialclassStuChenjiQuery:System.Web.UI.Page{Chapter8.BLL.ChenjiManage

ASP Recordset 分页出现负数解决方法及建议

对于Recordset分页时出现负数的现象,相信会有很多人遇到过这个问题,有时百度.GOOGLE也不得其解,现在由我来总结一下. 出现负数,主要和游标类型有关系.(为举例方便,假设已经有一个conn.asp链接数据库的文件并且已经include)现在举一个例子,代码如下: '=======================================================           sql="Select * from 表名 where 条件 order by ID des

关于 分页出现负数解决方法及建议

对于Recordset分页时出现负数的现象,相信会有很多人遇到过这个问题,有时百度.GOOGLE也不得其解,现在由我来总结一下. 出现负数,主要和游标类型有关系.(为举例方便,假设已经有一个conn.asp链接数据库的文件并且已经include)现在举一个例子,代码如下: 对于Recordset分页时出现负数的现象,相信会有很多人遇到过这个问题,有时百度.GOOGLE也不得其解,现在由我来总结一下. 出现负数,主要和游标类型有关系.(为举例方便,假设已经有一个conn.asp链接数据库的文件并且

mysql查询语法记录

mysql中查询字符串长度: length:   是计算字段的长度一个汉字是算三个字符,一个数字或字母算一个字符 CHAR_LENGTH(str) 返回值为字符串str 的长度,长度的单位为字符.一个多字节字符算作一个单字符.对于一个包含五个二字节字符集, LENGTH()返回值为 10,而 CHAR_LENGTH()的返回值为5. CHARACTER_LENGTH(str) CHARACTER_LENGTH()是CHAR_LENGTH()的同义词. BIT_LENGTH(str) 返回2进制长

ASP Recordset分页出现负数的解决方法

对于Recordset分页时出现负数的现象,相信会有很多人遇到过这个问题,有 时百度.GOOGLE也不得其解,现在由我来总结一下. 出现负数,主要和游标类型有关系.(为举例方便,假设已经有一个conn.asp 链接数据库的文件并且已经include)现在举一个例子,代码如下: '======================================================= sql="Select * from 表名 where 条件 order by ID desc"

SQL优化中查询条件内移及减少HASH JOIN的代价

以下语句完全正确,但COST较高,原因是因为AEH.AEC.AC.ACSN几张表都有数百万条记录, 由于采用了HASH连接,尝试采用优化索引等多种方式,但是由于记录过多,表的查询条件相对较少, COST下降幅度始终很有限,COST提高到1000出头已经很尽力了. Select Count(Tmp.Id) From (Select Rownum As Id, t.Entry_Id, t.Container_Id, Con.Container_Num From AEC t Inner Join AE

java Date.getTime()返回负数异常情况分析

背景   在线上运行的一个数据库同步系统,突然在某一天发现了一条奇怪的数据. 出现了如下异常: 1.SQL state [99999]; error code [17361]; Year out of range.; nested exception is java.sql.SQLException: Year out of range.: 分析其对应的数据内容,就发现了有一个Oracle的Date类型的数据字段,返回了-235316004988000L.  1.EventColumn[inde

Oracle Like查询的例子分析

查询方式:LIKE '%xx%' 普通: SELECT * FROM TABLE T WHERE T.COLUNM LIKE '%xx%' 优化:使用 INSTR SELECT * FROM TABLE T WHERE INSTR(T.COLUNM, xx)>0 在执行的时候,执行计划显示,消耗值,io值,cpu值均非常大,原因是like后面前模糊查询导致索引失效,进行全表扫描. 1. 尽量不要使用 like '%%' 2. 对于 like '%' (不以 % 开头),Oracle 可以应用 c