要求做个java程序用户输入数字逗号隔开, 计算下面的公式 多谢了

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了要求做个java程序用户输入数字逗号隔开, 计算下面的公式 多谢了相关的知识,希望对你有一定的参考价值。

xy上面带个线的是平均值 sxsy 是 标准差 s

参考技术A public class InputHelper
public static int[] getInt(String path)
String[] pathsStrings = path.split(",");
int size = pathsStrings.length;
int[] data = new int[size];
for (int i = 0; i < size - 1; i++)
data[i] = Integer.parseInt(pathsStrings[i]);


return data;


//inputHelper类的作用是将输入的字符串解析为int数组
public class Calculate
private int[] data;//数据数组
private int size = 0;//数组长度
private int xCount = 0;//x值的和
private int yCount = 0;//y值的和
private int x_ = 0;//x的平均值
private int y_ = 0;//y的平均值
private int sX = 0;//x方差的平方
private int sY = 0;//y方差的平方
private double r;
private int count;
private int n;
private String paString;
public void calculate()
paString = new Scanner(System.in).nextLine();
data = InputHelper.getInt(paString);
size = data.length;
n=size/2;
System.out.println(data[0]);
for (int j = 0; j < size - 1; j += 2)
xCount += data[j];
yCount += data[j + 1];

x_ = xCount / n;
y_ = yCount / n;
for (int m = 0; m < size - 1; m += 2)
sX += (data[m] - x_) ^ 2;
sY += (data[m + 1] - y_) ^ 2;

for (int n = 0; n < size - 1; n += 2)
count += data[n] * data[n + 1];

r = (count - n * x_ * y_)
/ ((n - 1) * (Math.sqrt(sX / n)) * (Math.sqrt(sY / n)));
System.out.println("r的值是:" + r);


//Calculate类计算方程式的值并输出

public class Test
public static void main(String[] args)
System.out.println("请输入数据,以逗号隔开:");
Calculate calculate = new Calculate();
calculate.calculate();

参考技术B public static void main(String[] args)
Scanner sc=new Scanner(System.in);
System.out.println("请输入x,以英文逗号','分隔,回车结束");
String x=sc.nextLine();
System.out.println("请输入y,以英文逗号','分隔,回车结束");
String y=sc.nextLine();
if(x.length() != y.length())
System.out.println("两组数据个数不相等,程序结束");

String[] xs=x.split(",");
String[] ys=y.split(",");
int n=xs.length;
double[] xd=new double[n];
double[] yd=new double[n];
double sum=0;
for(int i=0; i < n; i++) // 字符串转数字
xd[i]=Double.parseDouble(xs[i]);
yd[i]=Double.parseDouble(ys[i]);
sum+=xd[i] * yd[i];

double x_=getAverage(xd);// x的平均值
double y_=getAverage(yd);// y的平均值
double sx=getSD(xd);// x标准差
double sy=getSD(yd);// y标准差
double r=(sum - n * x_ * y_) / ((n - 1) * sx * sy);
System.out.println("结果r=" + r);



static double getAverage(double[] s) //平均值
double ave=0;
for(int i=0; i < s.length; i++)
ave+=s[i];

ave=ave / s.length;
return ave;


static double getSD(double[] s) //标准差
double sd=0;
double ave=getAverage(s);
double tem1=0;
for(int i=0; i < s.length; i++)
tem1+=(s[i] - ave) * (s[i] - ave);

tem1=tem1 / s.length;
sd=Math.sqrt(tem1);
return sd;
本回答被提问者采纳

以上是关于要求做个java程序用户输入数字逗号隔开, 计算下面的公式 多谢了的主要内容,如果未能解决你的问题,请参考以下文章

Java中字符串按逗号分开成为String数组

编写一个程序 输入一系列单词 用逗号隔开,然后提取这些单词,并分行输出,删除空格

JAVA编程:输出值要求格式化为:以逗号作为每千位的间隔符,并且小数点后四舍五入为两位。例如:123.45

把字母改成用逗号隔开的数字?

输入几个数字,用逗号隔开系列例题

TP5.1 文章分类用逗号隔开,怎么查询属于多个分类的数据?