java - 安卓/Java : Split Data in an Array and display

标签 java android

我正在尝试做一些非常基本的事情!这行不通:(。我觉得我在兜圈子。

以下是概要:我希望用户在 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/

相关文章:

java - android 应用程序-javax.net.ssl.SSLHandshakeException : Trust anchor for certification path not found - Standard Android browser work without any problems

android - 如何使用特定 fragment 启动 Activity 但 Activity 不依赖于 fragment ?

android - 无法从控制台启动 appium inspector 和 arc 命令

java - Android线程刚刚停止

java - 线程中的异常 "main"java.lang.ArrayIndexOutOfBoundsException : 15

java - 将字符串匹配为二维整数数组的正则表达式

java - 禁用 Tomcat 中所有默认的 HTTP 错误响应内容

java - 从 onPause() 启动时 MediaPlayer 循环

java - 将适配器应用于 Spinner 会导致 NullPointerException?

java - 如何使用java替换字符串之间存在的ascii字符