我的方法返回NULL而不是返回2D数组

时间:2013-01-24 04:12:12

标签: java android methods multidimensional-array

我将我的方法定义如下,并希望返回一个2D数组,但它返回一个NULL。有人可以告诉我这有什么不对吗?

public String[][] parseInput150(String[] inputPercent150, String[][] input150Parsed ) {

    String inputPer150fromXML = getResources().getString(R.string.InputPercent150);

    inputPercent150 = inputPer150fromXML.split(Pattern.quote("|"));
    input150Parsed = new String[inputPercent150.length-1][];
    for (int i = 1; i < inputPercent150.length; i++) {
        input150Parsed[i-1] = inputPercent150[i].split(Pattern.quote(" "));
    } 
    for (int i = 0; i < input150Parsed.length; i++){

            Log.e("TAG","Parsed Array value = " + Arrays.toString(input150Parsed[i]));

    }

    return input150Parsed;      
}

方法调用如下:

@Override
  public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);        
       setContentView(R.layout.activity_main);        
    operationalSoldiers = (EditText) findViewById(R.id.operationalSoldiers);
    operationalSoldiers.setText("150");        
    initialInput = setinitialInput(initialInput);
    input150Parsed = parseInput150(inputPercent150, input150Parsed);                        
    listView = (ListView) findViewById(R.id.list);
    selectAll = (Button) findViewById(R.id.selectAll);
    deselectAll = (Button) findViewById(R.id.deselectAll);        
    ArrayAdapter<String> adapter;
    array =  getResources().getStringArray(R.array.facilities);
    strings1 = new ArrayList(Arrays.asList(array));                
    TopicSelectionListAdapter topicSelectionListAdapter = new TopicSelectionListAdapter(
            second.this, R.layout.listrow, strings1);
    listView.setAdapter(topicSelectionListAdapter);
    listView.setItemsCanFocus(false);
    listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
    for(int i=0;i<strings1.size();i++){
        listView.setItemChecked(i, false);
      }
       listView.setOnItemClickListener(new OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> arg0, View view, int position,
                long arg3) {
            CheckedTextView selectedItem = (CheckedTextView) view;
            boolean isChecked = selectedItem.isChecked();
           Log.e("TAG","item clicked position = " + position + " isChecked = " + isChecked);
            for(int i=0; i< strings1.size(); i++){
                if(!isChecked){
                    bArray[i]= 1;
                }
                else{
                    bArray[i]= 0;
                }
                    System.out.print(bArray[i]);
            }Log.e("TAG","boolean Array value = " + bArray);
          }
    });
    selectAll.setOnClickListener(new View.OnClickListener() {
        @TargetApi(Build.VERSION_CODES.HONEYCOMB)
        @Override
        public void onClick(View v) {
            for(int i=0;i<strings1.size();i++){
                listView.setItemChecked(i, true);
                bArray[i]= 1;
            }
            totalSoldiers = (int) (operationalSoldiers.getAlpha() + (operationalSoldiers.getAlpha() * 0.13));
            for (int r=0; r < input150Parsed.length; r++ ){
                for(int c=0; c < input150Parsed[r].length; c++){                        
                    calculatedParValues[r][c] = ((totalSoldiers * (Integer.valueOf(input150Parsed[r][c]))) * Integer.valueOf(initialInput[c]));
                }
            }
          for (int i = 0; i < calculatedParValues.length; i++){
        Log.e("TAG","Parsed parameter value = " + Arrays.toString(calculatedParValues[i]));
        }
          }
    });

0 个答案:

没有答案