使用2d数组执行工资单程序

时间:2014-11-25 21:05:33

标签: java arrays

public static void main (String args[])
{
    String employees[][]= {

            {"Anderson " ,  "Varejao",       "11.25",         "40"  , null, null, null, null, null, null, null},
            {"Will" ,       "Cherry",       "12.25",          "35"  , null, null, null, null, null, null, null},
            {"Lebron" ,      "James",        "60.25",         "56"  , null, null, null, null, null, null, null},
            {"Kevin" ,      " Love",         "25.25",         "40"  , null, null, null, null, null, null, null},
            {"Kyrie" ,       "Irving",       "14.25",         "42"  , null, null, null, null, null, null, null},
            {"Dion" ,        "Waiters",      "6.25",          "40"  , null, null, null, null, null, null, null},
            {"Tristan" ,     "Thompson",     "8.50",          "40"  , null, null, null, null, null, null, null},
            {"Shawn",        "Marion",       "12.25",         "38"  , null, null, null, null, null, null, null},
            {"Joe",          "Harris",       "10.25",         "20"  , null, null, null, null, null, null, null},
            {"James",        "Jones",        "10.25",         "25"  , null, null, null, null, null, null, null},
        };
    bubbleSort(employees);


}


public static void bubbleSort(String t[][])
{

    for (int y=1;y<t.length-1;++y)
    {
        if (t[y][1].compareTo(t[y+1][1])>0)
        {
            String temp[]=t[y];
            t[y]=t[y+1];
            t[y+1]=temp;
            y=0;
        }
    }
}

编写一个程序,用于存储2维工资单程序的所有数据 阵列。 A.名字 B.姓氏 C.每小时工资 D.工作小时数 当用户运行程序时,让它计算并存储在同一个2D数组中 下列: E.总薪酬 F.扣除20%的所得税 G.净工资 H.为所有员工工作的总小时数 I.所有员工的总薪酬 J.所有员工的净薪酬总额 K.净薪酬最高的员工姓名(由薪酬决定) 程序)。

我是2d阵列的新手,所以请尽量帮助我,我尽我所能,尽我所能。我想怎么做E-K的琴弦?

2 个答案:

答案 0 :(得分:1)

你的冒泡排序应该更像:

public static void bubbleSort(String t[][])
{
 for (int y=0;y<t.length-1;++y)
 {
   // surname is col #2 as far as i can see
   if (t[y][1].compareTo(t[y+1][1])>0)
   {
     String temp[]=t[y];
     t[y]=t[y+1];
     t[y+1]=temp;
     y=0; // start from beginning
   }
 }
}

假设删除了所有不必要的日期,例如标题和列分隔符

答案 1 :(得分:1)

您可以通过StringDouble.parseDouble()以及其他包装类的类似方法将数字的Integer.parseInt()表示转换为数字类型的值。您可以通过多种方式将数值转换为String,其中包括String.valueOf()方法。

我建议你将null个占位符放入每个E-K列的起始数组的每一行。然后迭代行,每个

  1. 将薪水和工时分析到double s(Double.parseDouble()),
  2. 执行各种计算,
  3. 将每个结果转换为StringString.valueOf())和
  4. 将结果字符串存储(引用)到行的正确字段中。
  5. Oncaphillis已经解决了分类要求的细节。