如何解决计算让我难倒
我正在处理一个需要计算第一个输入到最终数字(第二个输入)之间的数字的计算代码。当我这样做时,它会创建这个:
What is the first number?
45
What number do you wish to go to?
50
Sum of numbers between 46 and 50 are: 46
Mean is: -1
Median is: 24
Standard Deviation is: NaN
Variance is: 2209
Sum of numbers between 47 and 50 are: 93
Mean is: 0
Median is: 24
Standard Deviation is: 0.0
Variance is: 10858
Sum of numbers between 48 and 50 are: 141
Mean is: 1
Median is: 24
Standard Deviation is: 1.0
Variance is: 30458
Sum of numbers between 49 and 50 are: 190
Mean is: 2
Median is: 24
Standard Deviation is: 1.4142135623730951
Variance is: 65802
Sum of numbers between 50 and 50 are: 240
Mean is: 3
Median is: 24
Standard Deviation is: 1.7320508075688772
Variance is: 121971
这显然不是我想要的,因为我想要它们在一起。我的代码是:
import java.util.Scanner;
public class Statistics {
public static void main(String[] args) {
int number;
int total;
int sum = 0;
int mean;
int median;
double standardDeviation;
int variance=0;
Scanner input = new Scanner(system.in);
System.out.println("What is the first number?");
number = input.nextInt();
System.out.println("What number do you wish to go to?");
total = input.nextInt();
while(total > number){
number++;
sum = sum + (number);
mean= sum/total-1;
if(total%2 == 1){
median=(total+1)/2-1;
}
else{
median=(total/2-1+total/2)/2;
}
variance += Math.pow((sum-mean),2);
standardDeviation= Math.sqrt(mean);
System.out.println(" Sum of numbers between " + number + " and "+ total + " are: " + sum);
System.out.println("Mean is: "+ mean);
System.out.println("Median is: " + median);
System.out.println("Standard Deviation is: " + standardDeviation);
System.out.println("Variance is: " + variance);
}
}
}
我完全被困住了,在这个问题上已经尝试了两个小时。有什么建议吗?
解决方法
首先,想想问题本身。在您的情况下,“介于”之间的真正含义是什么?如果我选择 import { Component } from '@angular/core';
@Component({
selector: 'app-root',templateUrl: './app.component.html',styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'demo';
}
和 5
作为数字,是否会包含 10
和/或 5
?
第二,数学题。如何计算? 有多种方法,它们的效率并不相同。使用循环计算两个数字之间所有数字的总和对于较大的差异是低效的。
但我敢肯定,你的老师给了你一个提示,那就是从10
到1
的所有数字之和是n
。然而,这个函数会给你所有正数的总和,直到n * (n + 1) / 2
,但你只想要那些从另一个开始的。我会让你自己找出这个(简单的)解决方案,因为这比被舀出答案更有意义。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。