java - 为什么我的数组程序显示为空?

标签 java arrays standard-deviation

我和我的搭档正在尝试创建一个数组程序,该程序将数组的名字和姓氏分开,并显示血压以及最大、最小、SD 和 AVG 血压。这是我们的程序:

package arrays;
import java.util.*;
import java.io.*;

public class Arrays{
static Scanner input = new Scanner(System.in);
  static double[] BP = {103, 111, 90, 72, 143, 144, 77, 88, 103};
  static double max = BP[0];
  static double min = BP[0];
  static double sd=0;
  static double avg=0;
  static double squareDiff=0;
  static double variance=0;
  static double calculation=0;
  static int i;
  static String item;
  static String[] pname= {"Jimmy Jones", "John Tod", "Tim Smith", "Mary Smith", "Sally Fields", "Smita Parval", "Sukhen Dey", "Jimmy Chang", "JoAnn Todler"};
  static String pfnameArray [] = new String[pname.length];
  static String plnameArray [] = new String[pname.length];
  static String pfname="";
  static String plname= "";
public static void Separate_names() {

for (int i = 0; i < pname.length; i++) {

    if(pname[i].substring(i, i+1).equals(' ')) {
    pfnameArray[i] = pname[i].substring(0, i);
    plnameArray[i] = pname[i].substring(i+1, pname.length+1);
    pfname = pfnameArray[i];
    plnameArray[i]=plname;
}
}
}
public static void Data_Entry() { 
  for (int i = 0; i < BP.length; i++) {
for (int i = 0; i< BP.length; i++) {
     if (BP[i] < min) min = BP[i];
  }
for(int a=0; a<BP.length; a++){
  calculation +=BP[a];
 }


avg=calculation/BP.length;
for(int v=0; v<BP.length; v++){
squareDiff+= Math.pow((BP[v]-avg),2);
variance=squareDiff/BP.length;
}
{sd =Math.sqrt(variance);
} 
}
public static void Print_Data(String [] fName, String [] lName) {
for( int l=0; l<BP.length; l++){

    System.out.println(plnameArray[i] + " " + pfnameArray[i] + ", Blood Pressure: " + BP[l]);
}
System.out.println();
System.out.println("Max is " + max);  
System.out.println("Min is " + min);
System.out.println ("Average is " + avg);
System.out.println("Standard Deviation:" + sd);

}}

对于名字和姓氏的输出,它显示为空。如何将数组分隔到不显示 null 的位置?另外,SD的公式正确吗?我们将其与其他人的进行比较,得到了不同的数字。

最佳答案

像这样使用split:

pfnameArray[] = pname[i].split(" ");

pfnameArray[0] 将包含名字 pfnameArray[1] 将包含激光名称

关于java - 为什么我的数组程序显示为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47083527/

相关文章:

java - Hibernate advanced in 子句

java - Android OnNavigationListener 覆盖?

ios - 从两个可变数组获取 NSmutableDictionary 键

javascript - 将 Questions 数组和 Answers 多维数组洗牌相同

matlab - 覆盖内置函数 - 标准偏差

java - 使用 JGit,“In CorrectObjectTypeException : Object . ...不是一棵树

java - 使用 BufferedWriter 方法将联系人从文件导入到地址簿 GUI

arrays - 如何正确调用 CFBinaryHeapGetValues() 并在 Swift 中解析生成的 C 数组?

Python:如何获取数据框中多个数组的元素标准差

gnuplot - 如何计算 gnuplot 中列的标准差