我正在尝试做一些非常基本的事情!这行不通:(。我觉得我在兜圈子。
以下是概要:我希望用户在 EditText 框中输入一系列数字(以逗号分隔)。选择添加按钮后, split 方法会将每个数字分隔到 String[] 中自己的槽中。最终,如果我能让这部分工作,这些数字将从数组中取出并转换为 double 。然后它们将用于一两次计算。我尝试了几种不同的方法来完成此任务,问题似乎来自 split 方法或 for 循环。下面列出的代码返回一个空字符串。
此外,通过我的反复试验,我最终得到了一个返回方法calculate()。 onClick 方法中可以塞入多少内容?这是一个坏主意吗?请根据需要变得残酷!我是安卓新手。提前致谢。
<小时/>package com.simplydesign.android.standarddev;
import android.app.Activity;
import android.os.Bundle;
import android.widget.*;
import android.view.*;
public class Main extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final Button addBtn = (Button) findViewById(R.id.addBtn);
final EditText userData = (EditText) findViewById(R.id.editText1);
final TextView dataCollection = (TextView) findViewById(R.id.textView1);
addBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String[] rawData;
rawData = userData.getText().toString().split(",");
dataCollection.setText(calculate(rawData));
}
});
}
public String calculate(String[] a) {
String output = "";
for (int i = 0; i < a.length - 1; i++) {
output += " " + a[i];
} return output;
}
}
最佳答案
在 for 循环中,您应该从 0 迭代到 a.length - 1
。这意味着循环必须如下所示:
for (int i = 0; i < a.length; i++) { /* ... */ }
但是你最好使用类似的东西:
public String calculate(String[] a) {
StringBuilder output = new StringBuilder();
for (String s : a) {
output.append(' ').append(s);
}
return output.toString();
}
不幸的是,我认为它不能完全解决您的问题,但它确实修复了一个错误。
关于java - 安卓/Java : Split Data in an Array and display,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6191804/