`

java数组取值:根据一个数组中的值,取其对应的另一个数组中的值(数组下标)

    博客分类:
  • java
 
阅读更多
今天做报表统计遇到这样的问题:
   JSP页面中的checkbox值在数据库中存放的是类似这样的"2;5;8",现在做统计的时候要根据数据库表中的"2;5;8"取其对应的具体checkbox值?
   发表此文章,希望对有同样问题的童靴有帮助,具体的操作如下:

/**
* 根据一个数组中的值向另个一个数组中取其对应的值,具体如下
* strVal1、strVal2两个数组分别存放的是JFWY_WY、JFYG_YY的下标值
* 现在是根据strVal1、str2中存放的下标值获取其在JFWY_WY、JFYG_YY对应的值
* @author hyf
* Jul 17, 2014 4:06:29 PM
*
*/
public class TestCase {
private static final String[] JFWY_WY = new String[] {"","原因1","原因2","原因3","原因4","原因5","原因6","原因7","原因8"};
private static final String[] JFYG_YY =  new String[] {"","原1","原2","原3","原4","原5","原6","原7","原8"};
public static void main(String[] args) throws Exception{
        String strVal1 = "";
        String strVal2 = "";
Object object = "2;3;8";
Object object1 = "1;3;7";
strVal1= getArryVal(JFWY_WY,object);
strVal2= getArryVal(JFYG_YY,object1);

System.out.println("从数组1中取到的值:"+strVal1);
System.out.println("从数组2中取到的值:"+strVal2);
}

private static String getArryVal(String[] arr, Object obj) {
String retStr = "";
String[] objStr = null;
StringBuffer strBuffer = new StringBuffer();
if (obj!=null&&obj!="") {
objStr= obj.toString().split(";");
for(int i=0;i<objStr.length;i++){
strBuffer.append(arr[Integer.valueOf(objStr[i])]);
if(i!=objStr.length-1){
strBuffer.append("、");
}
retStr = strBuffer.toString();
}
}

return retStr;
}
}
 
以上代码可直接运行查看效果,如有错误欢迎提出指正,谢谢!
分享到:
评论

相关推荐

    JAVA基础学习笔记

    查找int数组的最大值及其下标: ```java int[] countArr = new int[]{1, 3, 8, 2, 5, 9, 0}; int max = countArr[0]; int maxIndex = 0; for (int i = 1; i ; i++) { if (countArr[i] &gt; max) { max = countArr[i];...

    2021-2022计算机二级等级考试试题及答案No.3442.docx

    21. Java 特性:Java 是一种强类型语言,与平台无关,可以使用汉字作为变量名,但它会检查数组下标越界,所以 D 选项错误。 22. 数组引用:在 C/C++ 中,通过指针访问数组元素的正确方式是 `*p`,其中 `p` 是指向...

    2021-2022计算机二级等级考试试题及答案No.15402.docx

    5. 二维数组:在C/C++等编程语言中,二维数组的元素可以通过下标访问,如题目中定义的二维数组,a[2][1]的值未初始化,所以默认为0。 6. Java继承与重写:在Java中,子类可以覆盖父类的方法,但方法签名必须一致。...

    2021-2022计算机二级等级考试试题及答案No.5314.docx

    5. 数据库的三级模式结构中,一个数据库只有一个模式(Schema)和一个内模式(Internal Schema),外模式可以有多个,对应不同用户的视图。 6. 自行开发的工资管理系统属于数据处理(C)类型的计算机应用,例如报表...

    2021-2022计算机二级等级考试试题及答案No.14668.docx

    标签指出DNS与IP地址不是等同的,因为DNS是一个服务,而IP地址是网络中的标识符。 3. 工作表保护:在电子表格软件中,工作表保护功能允许用户限制他人对特定工作表的编辑,但不是完全禁止修改。 4. 自动窗体向导:...

    2021-2022计算机二级等级考试试题及答案No.3933.docx

    - **多对一关系** 与一对多相反,表示多个实体与另一个实体关联。 - **多对多关系** 指的是两个实体之间可能存在多种关联。 ### 4. 数据类型的取值范围 - **知识点**: `short` 类型的取值范围是 `-2^15` 到 `2^...

    2021-2022计算机二级等级考试试题及答案No.4570.docx

    3. 在Java等面向对象编程语言中,如果源文件中包含一个类,那么源文件的名称必须与公共类(public class)的名称完全匹配。 4. 掩码“LLLO00”通常用于数据输入格式,对应的有效输入数据是“aaa555”,其中L代表...

    详谈Java枚举、静态导入、自动拆装箱、增强for循环、可变参数

    枚举是一种特殊的类型,可以限定一个变量的取值范围,使其只能是固定的几个值。枚举的优点是可以使代码更加简洁、可读性强、提高安全性。枚举的使用场景非常广泛,例如交通信号灯的三种颜色、星期几的七种选项等。 ...

    freemarker总结

    这里所说的空值,实际上也包括那些并不存在的变量,对于一个Java的 null值而言,我们认为这个变量是存在的,只是它的值为null,但对于FreeMarker模板而言,它无法理解null值,null值和不存在的变 量完全相同. 为了处理缺失...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    说明:Oracle中要删除一个用户,必须要具有dba的权限。而且不能删除当前用户,如果删除的用户有数据对象,那么必须加上关键字cascade。 用法:drop user 用户名 [cascade] 四、 用户权限与角色 1. 权限 Oracle中权限...

Global site tag (gtag.js) - Google Analytics