根据java中的另一个结果集调整结果集[关闭]

2023-12-07

I have 四种方法,两种方法即FindClosestToMultiplesOfTen() 和 ClosestToMultiplesOfTen_User() 给出与输入的 logtime 相对应的 beam_current 值通过用户。其他两个方法检索这些 beam_current 上的所有其他字段。我将从 FindClosestToMultiplesOfTen 检索到的 beam_current 视为参考 beam_current ,并将它们传递到另一个方法,即 referencenece() 方法,并检索与它们相对应的其他值。类似的事情是用其他两种方法完成的,即 ClosestToMultiplesOfTen_User ,并将其中的 beam_current 值传递到 refarray_vac1 中。现在我计算从这两种方法获得的值的差异,并通过 jsp apge 显示它们。

Problem- 1)I want that the all the values corresponding to beam_current retrieved from refarray_vac1() method should come directly below to the corresponding values of refernece(). Output obtained till now is- enter image description here

在这里,您可以看到以浅色显示的行来自 refarray_vac1,并将它们与以灰色表示的行进行比较。这里接近 10 的值表示在 10 的参考行下方,但我希望它表示在参考的 20.02 行下方,并且 null 应表示在灰色 10 行下方,因为浅色 10 值丢失。然后所有行都会出现在其相应行下方。

方法代码是

public  LinkedHashMap<Double, String> FindClosestToMultiplesOfTen(String name) throws SQLException {

    int row_id ;
    int bIdx = 0;
    //double[] vals = new double[47];
    double[] vals=null;
    //double[] bucket =new double[22];
    int rowIndex = 0 ;
    int i=0;
    String first=name.substring(1,19);
    String last =name.substring(24,42);
     try
        { 
          con = getConnection();
          stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
          String sql="select distinct beam_current from INDUS2_BDS.dbo.DCCT where logtime between '"+first+"' and '"+last+"'"+
          "and (beam_current like '%9.95' or beam_current like '%9.96' or beam_current like '%9.97' or beam_current like '%9.98' or  beam_current like '%9.99'  or beam_current like '%0' or beam_current like '%_0.01' or beam_current like '%_0.02' or beam_current like '%_0.03' or beam_current like '%_0.04' or beam_current like '%_0.05' or beam_current like '%_0.06')";

          System.out.println("Value of sql of FindClosestToMultiplesOfTen is"+sql);
          stmt.executeQuery(sql);
          rs = stmt.getResultSet();

         rs.last();
            int row_cnt=rs.getRow();
            System.out.println("row_count of closest " +row_cnt);
             vals = new double[row_cnt];
            rs.beforeFirst();
while(rs.next()) 
    {
   for(int j=0; j<1; j++)
         {
           vals[i]  = rs.getDouble(1);
         }
        i++;
     }
    }
 catch( Exception e )
    {
        System.out.println("\nException "+e);
    }
   //  get the max value, and its multiple of ten to get the number of buckets
     double max = java.lang.Double.MIN_VALUE;

     for (double v : vals) 
        {
        System.out.println("value of v after double v : vals"+v);
        max = Math.max(max, v);
        }
     Arrays.sort(vals);
     System.out.println("Min value in array in c "+vals[0]);
     double min=vals[0];
     int m2=(int) Math.round(min);
     int m3=(int) Math.round(max);

     int bucketCount = 1+((m3-m2)/10);
     double[] bucket =new double[bucketCount];

     //  initialise the buckets array to store the closest values
    double[][] buckets = new double[bucketCount][3];
    for (int i1 = 0; i1 < bucketCount; i1++){
         // store the current smallest delta in the first element
         buckets[i1][0] = java.lang.Double.MAX_VALUE; 
         // store the current "closest" index in the second element
         buckets[i1][1] = -1d;
         // store the current "closest" value in the third element
         buckets[i1][2] = java.lang.Double.MAX_VALUE;
     }


     //  iterate the rows
     for (row_id=0 ; row_id < vals.length; row_id++) // row_id=137
     {
         //  get the value from the row
         double v = vals[row_id];

         //  get the closest multiple of ten to v
         double mult = getMultipleOfTen(v); // e.g. 50, 60, etc

         //  get the absolute distance of v from the multiple of ten
         double delta = Math.abs(mult - v); // 50 - 49.9 = 0.1
         //  get the bucket index based on the value of `mult`
        bIdx = (int)(mult / 10d) - m2/10;//50/10=5

      if (buckets[bIdx][0] > delta) // max>0.1
         {

           buckets[bIdx][0] = delta;//.01(50-49.95)
           buckets[bIdx][1] = row_id;
            buckets[bIdx][2] = v;


            System.out.println("beam_current: "+buckets[bIdx][2]);
            //z++;

         }
      } 

     System.out.format("    10x row value%n");
    for (int i1 =0; i1 < buckets.length; i1++)
    {
          bucket = buckets[i1];
         rowIndex = (int) bucket[1];
          int row_no=rowIndex+1;
          double rowValue = bucket[2];
          System.out.println("row index "+row_no+ "value is "+rowValue);
          DecimalFormat twoDForm = new DecimalFormat("#.##"); 



          rs.absolute(rowIndex+1);
       map1.put(java.lang.Double.valueOf(twoDForm.format(rs.getDouble(1))),"");

         }

    return map1;
    }

在 FindClosestToMultiplesOfTen() 和 ClosestToMultiplesOfTen_User() 方法中,仅结果集的大小有所不同,因为两者的日志时间不同。现在我希望 ClosestToMultiplesOfTen_User() 结果集的大小等于 FindClosestToMultiplesOfTen 的结果集大小,应放置 null处理后得到的ClosestToMultiplesOfTen_User结果集中没有对应值的地方。

ClosestToMultiplesOfTen_User 的代码是-

public  LinkedHashMap<Double, String> ClosestToMultiplesOfTen_User(String start,String end) throws SQLException {

int row_id ;
int bIdx = 0;
double[] vals=null;
int rowIndex = 0 ;
int i=0;

try
        { 
          con = getConnection();
          stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);

          String sql="select distinct beam_current from INDUS2_BDS.dbo.DCCT where logtime between '"+start+"' and '"+end+"'"+
                  "and (beam_current like '%9.95' or beam_current like '%9.96' or beam_current like '%9.97' or beam_current like '%9.98' or  beam_current like '%9.99'  or beam_current like '%0' or beam_current like '%_0.01' or beam_current like '%_0.02' or beam_current like '%_0.03' or beam_current like '%_0.04' or beam_current like '%_0.05' or beam_current like '%_0.06') ";

          System.out.println("Value of sql of FindClosestToMultiplesOfTen is"+sql);
          stmt.executeQuery(sql);
          rs = stmt.getResultSet();

         rs.last();
            int row_cnt=rs.getRow();
            System.out.println("row_count of closest " +row_cnt);
             vals = new double[row_cnt];
            rs.beforeFirst();
while(rs.next()) 
    {
   for(int j=0; j<1; j++)
         {
           vals[i]  = rs.getDouble(1);
         }
        i++;
     }
    }
 catch( Exception e )
    {
        System.out.println("\nException "+e);
    }
 //  get the max value, and its multiple of ten to get the number of buckets
 double max = java.lang.Double.MIN_VALUE;
 for (double v : vals) max = Math.max(max, v);
Arrays.sort(vals);
System.out.println("value at vals[0] c "+vals[0]);
double min=vals[0];
int m2=(int) Math.round(min);
int m3=(int) Math.round(max);


int bucketCount = 1+((m3-m2)/10);
double[] bucket =new double[bucketCount];



 System.out.println("bucketcount in closest "+bucketCount);

 //  initialise the buckets array to store the closest values
double[][] buckets = new double[bucketCount][3];
for (int i1 = 0; i1 < bucketCount; i1++){
     // store the current smallest delta in the first element
     buckets[i1][0] = java.lang.Double.MAX_VALUE;
     // store the current "closest" index in the second element
     buckets[i1][1] = -1d;
     // store the current "closest" value in the third element
     buckets[i1][2] = java.lang.Double.MAX_VALUE;
 }

 //  iterate the rows
 for (row_id=0 ; row_id < vals.length; row_id++)
 {
     //  get the value from the row
     double v = vals[row_id];
     System.out.println("value at "+row_id+": "+v);
     //  get the closest multiple of ten to v
     double mult = getMultipleOfTen(v);
     //  get the absolute distance of v from the multiple of ten
     double delta = Math.abs(mult - v);
     //  get the bucket index based on the value of `mult`
     bIdx = (int)(mult / 10d) - m2/10;


    if (buckets[bIdx][0]  > delta)
     {
      //  this is closer than the last known "smallest delta"
       buckets[bIdx][0] = delta;
       buckets[bIdx][1] = row_id;
       buckets[bIdx][2] = v;

       System.out.println("beam_current closeset: "+buckets[bIdx][2]);

     }
  }  
//   print out the result
for (int i1 =0; i1 < buckets.length; i1++)
{
      bucket = buckets[i1];
     rowIndex = (int) bucket[1];
 double rowValue = bucket[2];
      //System.out.println("row index "+row_no+ "value is "+rowValue);
      DecimalFormat twoDForm = new DecimalFormat("#.##"); 
      System.out.println("row index closeset "+rowIndex+ "value is closest "+rowValue);
   //System.out.println("value of rowIndex+1 is"+row_no);
      rs.absolute(rowIndex+1);
      user_current_map.put(java.lang.Double.valueOf(twoDForm.format(rs.getDouble(1))),"");
     // map1.put(rs.getString(2),(rs.getString(1)));
      //l.add(map1);
     }
System.out.println("user_current_map "+user_current_map);

return user_current_map;
}

refarray_vac1() 的代码是

public  List<Vacc1_Decline> refarray_vac1(String fdate,String ldate) throws SQLException, ParseException {

        st_jsp.clear();
    //System.out.println("date from jsp is : "+date);
     List<Double> slist_user = new ArrayList<Double>(user_current_map.keySet());
      String s_user = StringUtils.join(slist_user, ',');
System.out.println("comma separated string by user_selection" +s_user);
    //  int i=0;
       try
            {  
              con = getConnection();
              stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);



                     String vs1= " sql query";

        //      System.out.println("value from user_selection is " +vs1);
              stmt.executeQuery(vs1);
               rs = stmt.getResultSet();

               while (rs.next()) {
                   Vacc1_Decline ref = new Vacc1_Decline();

                      ref.setLogtime(rs.getString(1));

                         ref.setBeam_current(rs.getString(2));

                          ref.setBeam_energy(rs.getString(3));

                      ref.setSt1_vs1_bag1_rb(rs.getString(4));

                      ref.setSt1_vs1_bag2_rb(rs.getString(5));

                  st_jsp.add(ref);

                }

            }
       catch( Exception e )
                {
                    System.out.println("\nException in refarray_vac1 "+e);
                }


       return st_jsp;
      }

None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

根据java中的另一个结果集调整结果集[关闭] 的相关文章

  • 将 java 方法参数设置为最终参数

    那有什么区别final在下面的代码之间进行 将参数声明为有什么好处final public String changeTimezone Timestamp stamp Timezone fTz Timezone toTz return pu
  • 如何从球衣服务端点发送实体列表?

    我正在从球衣服务器发送实体列表 在客户端 我试图获取这些实体列表 但它给了元帅例外 为什么它在元素名末尾添加 s 即 emps 而不是 emp XmlRootElement public class Emp Server side code
  • Maven项目中的HDF5

    我正在尝试将 hdf hdf5lib H5 导入到 NetBeans 中的 Maven 项目中 它有这个作为导入行 import hdf hdf5lib H5 正如这里所建议的 https support hdfgroup org prod
  • 如何知道内存中是否已经存在类的实例?

    如何知道内存中是否已经存在类的实例 我的问题是 如果存在类实例 则不想读取方法 这是我的代码 private void jButton java awt event ActionEvent evt PNLSpcMaster pnlSpc n
  • 如何在 Java 中复制对象?

    考虑下面的代码 DummyBean dum new DummyBean dum setDummy foo System out println dum getDummy prints foo DummyBean dumtwo dum Sys
  • bean 的 CDI @TransactionAttribute

    我正在尝试CDI在测试应用程序上 我有一个DAO它注入一个托管的容器JTA像这样的持久化上下文 public class TestDAO implements Serializable PersistenceContext private
  • VB.NET 中字节数组的数组

    我需要一个数组 数组中的每个项目都是这样的字节数组 但我不知道如何执行以下操作 Dim xx as array xx 0 as byte H12 HFF xx 1 as byte H45 HFE 您可以像这样创建嵌套或 锯齿状 字节数组 D
  • 是否有任何理由使用 ZoneId.of("UTC") 而不是 ZoneOffset.UTC ?

    有什么理由使用ZoneId of UTC 代替ZoneOffset UTC 我们知道两者之间的区别 如ZoneOffset UTC 和 ZoneId of UTC 之间有什么区别 https stackoverflow com questi
  • 在 alpine / Jprofile 10 中运行 jpenable 时出现 UnsatisfiedLinkError

    当运行 jpenable 以允许在运行 JDK 8 的 alpine 3 3 容器中对 Jprofiler10 进行分析时 我收到 UnsatisfiedLinkError 异常 有任何想法吗 ERROR The agent could n
  • 如何防止我的 servlet 被其他网站调用

    好的 我有一个像这样的简单的 servlet public class SimpleServlet extends HttpServlet public void doPost HttpServletRequest req HttpServ
  • 覆盖乔达一周的第一天?

    是否有可能覆盖乔达弱的第一天sunday 因为 Joda 使用Monday作为一周的第一天 如果有办法的话 谁能解释一下 我在 SOF 中提到了以下主题 乔达时间 一周的第一天 https stackoverflow com questio
  • 添加数组的总和。显示1个输出

    更新 这个问题的答案如下 感谢在不同线程上进行的 dougtesting 将数组相加 显示总和 https stackoverflow com questions 45724641 add array together display su
  • 是否有适用于 Java 的 CalDAV 客户端库? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想使用 CalDAV 协议与我的日
  • java内存不足然后退出

    我有一个必须分析大文件的软件 限制输入或提供无限内存都不是一个选择 所以我必须忍受飞行的 OOME 因为 OOME 只杀死线程 所以我的软件运行在一些糟糕的状态 从外面看一切都很好 因为进程正在运行 但在内部却是脑死亡 我想拔掉它的插头 但
  • java.lang.IllegalStateException:FragmentManager 已被销毁

    活动中onResume我称之为 volley request 的方法 它获取项目列表 然后将它们加载到此活动内的 ListFragment 中 当我第一次进入活动时 一切正常 但当我重新进入活动时 ListFragment 为空 并且控制台
  • Java无损保存原始JPEG

    如下所示 我有第一张图像是原始 JPEG 图像 第二张图像用于缓冲图像 然后使用保存http www lac inpe br JIPCookbook 6040 howto compressimages jsp http www lac in
  • Java 中有类似 .NET 的 NotImplementedException 的东西吗?

    有没有类似 NET 的东西NotImplementedException在Java中 康芒斯朗 http commons apache org proper commons lang javadocs api 2 6 org apache
  • 当框架被拖动时,如何设置 JWindow 的位置位于文本字段下方?

    我正在制作一个自动完成项目 就像谷歌一样 我的框架中有一个 jtextfield 每当我在该字段中输入内容时 该文本字段下方就会出现一个 JWindow 并且该窗口来自另一个类 现在的问题是 每当我拖动框架时 如何使窗口始终出现在文本字段下
  • SWT StyledText 有高度限制吗?

    我正在尝试创建一个应用程序 其中包含在 ScrolledComposite 中显示的 StyledText 框 我在 StyledText 框中显示大量行时遇到困难 超过 2 550 行似乎会导致问题 StyledText 框本身不能有滚动
  • 如何将元素添加到通用集合

    我想知道如何将专用对象添加到通用集合中 我正在使用以下代码 Collection

随机推荐

  • 使用 Writer 将 int 写入文本文件

    Writer wr new FileWriter 123 txt wr write 123 wr close 输出文件包含 哪里有问题 怎么写int到文本文件使用Writer 你必须写字符串 你可以试试 wr write 123 OR wr
  • 从 PHP 5.3 开始,mssql_connect 不再工作

    我刚刚收到我们主机的一封电子邮件 他们已将 PHP 升级到 5 3 但不幸的是 所有脚本现在都已损坏 我追踪到了这个函数mssql 连接失败 支持人员告诉我 这在 5 3 中已被弃用 这怎么可能是真的 现在如何在 PHP 5 3 下连接到
  • 如何解决GCC中的包含文件名冲突?

    我有两个名为string h在不同的库中 它们相互冲突 甚至与标准C包含文件的同名冲突 无需使用任何string h除了标准的 但我需要在 GCC 搜索路径中包含库头路径 目前我使用类似的东西 I usr local include lib
  • 如何调试 dsymutil 错误:“Clang 模块预计只有 1 个编译单元。”

    在 iOS 应用程序的GenerateDSYMFile 阶段收到此错误消息 Users name Library Developer Xcode DerivedData ModuleCache HASH FrameworkName HASH
  • EOFException - 如何处理?

    我是一名初学者 Java 程序员 遵循java教程 我正在使用一个简单的 Java 程序Java教程 s 数据流页面 并且在运行时 它不断显示EOFException 我想知道这是否正常 因为读者最终必须到达文件的末尾 import jav
  • HMVC codeigniter 适用于本地服务器,但不适用于 Web 服务器

    这真是要了我的命 我有什么 CI版本 2 1 4 模块化扩展 HMVC 作者 wiredesignz 一个基本的 codeigniter hmvc 项目 可以与 php 5 5 3 的本地服务器 mamp 中的设置配合良好 我的问题 在我将
  • 如何获取默认的 Cargo 输出目录以匹配目标架构?

    我希望构建输出目录遵循我正在构建的架构 目前 当我在没有任何目标的情况下使用 Cargo build 时 它将输出放入 target debug 或 target release 中 当我为其他目标架构构建时 它将它们放入 target a
  • android - 文本输入类型人名不起作用

    在我的 android 项目中 我想要一个类型为 personname 的文本字段 默认情况下大写锁定处于激活状态 但是 此代码不起作用
  • 如何防止 Spring 应用程序上下文关闭,直到关闭钩子被触发

    我有一个弹簧启动应用程序 我已经实施了SmartLifecycle我的 bean 中的接口启动了异步 snmp 服务器start方法并将其停止在其中stop method 一切工作正常 除了主应用程序上下文在启动后立即停止 因此我的服务器
  • Heroku 应用程序数据库重置

    在 Heroku 上运行完 Python 入门后 我启动了我的第一个应用程序 一切似乎都工作正常 但过了一会儿 可能几个小时 数据库会重置 我对根本原因的假设是我的 django 应用程序使用默认的 django 数据库 我认为是 SQLi
  • MVC WebApi 中的方法如何映射到 http 动词?

    在以下链接的 5 分钟视频中 在 1 分 10 秒处 Jon Galloway 表示 将名为 DeleteComment 的方法添加到他的 CommentsController 控制器类中将按照约定自动映射到删除 http 动词 带有 We
  • 协变返回类型

    10 3 5 重写的返回类型 函数应等于 被覆盖的返回类型 函数或与类的协变 的功能 如果函数 D f 覆盖函数 B f 返回 函数的类型是协变的 如果他们满足以下条件 标准 两者都是指向 类或对类的引用98 B f 返回类型中的类 与中的
  • 同时 fork 和 exec 多个进程

    我正在制作一个自制的外壳 非常简单的外壳 我决定采用使用 execvp 的路线 因为我的路径对于我的 shell 来说不是可更改的元素 我遇到了一个问题 如何提出如何同时分叉和执行多个进程的逻辑 我的程序应该使用这样的命令 ls echo
  • 在JAVA中使用AES/GCM检测不正确的密钥

    我在用着AES加密 解密某些文件GCM使用 BouncyCastle 模式 虽然我证明解密密钥是错误的 但也不例外 我该如何检查密钥是否错误 我的代码是这样的 SecretKeySpec incorrectKey new SecretKey
  • Java中如何截屏? [复制]

    这个问题在这里已经有答案了 可能的重复 有没有办法使用 Java 截取屏幕截图并将其保存为某种图像 Java中如何截屏 Use Robot createScreenCapture BufferedImage image new Robot
  • 引用包含合并字典的资源字典时出现问题

    我有一个库 CommonLibraryWpfThemes 其中包含多个资源字典 XAML 文件 我的 Themes Generic xml 文件包含一个 ResourceDictionary MergedDictionaries 声明 它将
  • Dataproc导入存储在谷歌云存储(gcs)存储桶中的python模块

    我在 GCS 存储桶上有以下结构 my bucket notebooks jupyter modules mymodule py init py 笔记本 1 ipynb 如何在notebook 1 ipynb中导入mymodule note
  • 未找到页面上的 Vue-router 重定向(404)

    我正在尝试使用以下方法重定向到未找到的页面上的 404 htmlrouter beforeEach全局钩子 没有取得太大成功 使用Vueand Vue Router 1 0 router beforeEach function transi
  • Java内置库的实现

    有谁知道 如果可能的话 我可以在哪里查看java内置库的代码 我试过了Ctrl Shift B 这是 Netbeans 与 Eclipse 的等价物Ctrl Shift T 到 转到源代码 但我只能看到方法头 而正文始终是 compiled
  • 根据java中的另一个结果集调整结果集[关闭]

    Closed 这个问题需要细节或清晰度 目前不接受答案 I have 四种方法 两种方法即FindClosestToMultiplesOfTen 和 ClosestToMultiplesOfTen User 给出与输入的 logtime 相