Почему моя программа массивов показывает ноль?

Мой партнер и я пытаемся создать программу массива, которая разделяет имя и фамилию массива и отображает артериальное давление, а также максимальное, минимальное, 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);

}}

Для вывода имени и фамилии это показывает нуль. Как мне отделить массив, чтобы он не показывал нуль? Кроме того, верна ли формула для SD? Мы сравнили его с чужим и получили другое число.

1 ответ

Использование split как это:

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

pfnameArray[0] будет содержать имяpfnameArray[1] будет содержать имя лазера

Другие вопросы по тегам