「java列的求和」java列表求和
今天给各位分享java列的求和的知识,其中也会对java列表求和进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、JAVA 编程 求和!!
- 2、求java程序:输入n个正整数,分成两组求和,求两列数字组合使这两组的和最接近平均数
- 3、请问,java编程 分数列1/1, 2/1, 3/2, 5/3, 8/5...20项求和
- 4、怎么用java导出的EXCEL文件中的两列自动相加
- 5、java 求和
JAVA 编程 求和!!
import java.util.Scanner;
public class MainTest {
/**
* @param args
*/
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
long sum = 0;
System.out.println("输入数字");
int n = sc.nextInt();
if(n 1)
{
System.out.println("sum = 0");
}
else
{
for(int i=0;in;i++)
{
sum += i;
}
System.out.println("sum = "+sum);
}
}
}
求java程序:输入n个正整数,分成两组求和,求两列数字组合使这两组的和最接近平均数
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
/**
* 自己想了个算法,不一定正确
* 算法过程,将一组数字从小到大排序,然后求这组数字的和/2,用这个求出的值去减去最大数,
* 如果结果=0,则放入第一组数字,然后用减的结果继续减第二大数,如果0则去减第三个数,以此类推
* 直到每个数都检查一遍
* 这样第一组数字中的所有数相加能保证=平均数,并且能最大范围内的接近平均数,
* 同时没有加入第一组集合的数就是第二组的数字了.
*
*/
public class NumberGroup {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
ListDouble arr = new ArrayListDouble();
System.out.println("请输入一组数字:按q停止输入:");
String s = "";
while(true){
s = scan.next();
if("q".equals(s)) break;
try{
Double.parseDouble(s);
}catch(Exception ex){
System.out.println("请输入正确的数字!");
continue;
}
arr.add(Double.parseDouble(s));
System.out.println(String.format("你当前输入了%s,当前的数字集合为:%s", s,Arrays.toString(arr.toArray())));
}
ListDouble l1 = new ArrayList();// 接收第一组数据
ListDouble l2 = new ArrayList();// 接收第二组数据
sort(arr.toArray());// 先排序
final double average = middle(arr.toArray());// 求中间值
int i = arr.size()-1;
double temp=average;
l1 = subtractor(arr.toArray(),temp,i);
for(int j = 0;jarr.size();j++){
if(!l1.contains(arr.get(j)))
l2.add(arr.get(j));
}
System.out.println("平均数为:"+average);
System.out.println(Arrays.toString(l1.toArray())+",总和为:"+sum(l1.toArray(),0));
System.out.println(Arrays.toString(l2.toArray())+",总和为:"+sum(l2.toArray(),0));
}
/**
* 先按照顺序从小到大排序
*
* @param arr
* @return
*/
public static Object[] sort(Object[] arr) {
Arrays.sort(arr);
return arr;
}
/**
* 求中间值
*
* @param arr
* @return
*/
public static double middle(Object[] arr) {
return sum(arr,0) / 2;
}
public static double sum(Object[] arr,int i){
if(i == arr.length) return 0;
return (double)arr[i]+sum(arr,++i);
}
/**
* 用平均数依次减去数组中的最大数,如果结果0,则加入第一组数据,如果小于0,则减去第二大数,依次类推,直到所有数都检查完为止
* @param arr
* @param temp
* @param i
* @return
*/
public static List subtractor(Object[] arr,double temp,int i){
List l = new ArrayList();
if(i==-1) return l;
if(temp - Double.parseDouble(arr[i].toString()) = 0){
temp = temp - Double.parseDouble(arr[i].toString());
l.add(arr[i]);
l.addAll(subtractor(arr,temp,--i));
}else{
l.addAll(subtractor(arr,temp,--i));
}
return l;
}
}
运行结果:
请输入一组数字:按q停止输入:
1
你当前输入了1,当前的数字集合为:[1.0]
2
你当前输入了2,当前的数字集合为:[1.0, 2.0]
3
你当前输入了3,当前的数字集合为:[1.0, 2.0, 3.0]
4
你当前输入了4,当前的数字集合为:[1.0, 2.0, 3.0, 4.0]
5q
请输入正确的数字!
q
平均数为:5.0
[4.0, 1.0],总和为:5.0
[2.0, 3.0],总和为:5.0
请问,java编程 分数列1/1, 2/1, 3/2, 5/3, 8/5...20项求和
public class FiboSum {
public static void main(String[] args) {
FiboSum test = new FiboSum();
System.out.println(test.sum(20));
}
public int fibonacci(int n) {
if (n 1)
return 0;
if (n == 1)
return 1;
return fibonacci(n - 1) + fibonacci(n - 2);
}
public double sum(int n) {
double sum = 0;
for (int i = 2; i n + 2; i++) {
double numerator = fibonacci(i);
double denominator = fibonacci(i - 1);
sum += numerator / denominator;
}
return sum;
}
}
输出结果为 32.04222681362428。
怎么用java导出的EXCEL文件中的两列自动相加
你这个问题,有点笼统,试着解答一下吧,
有两种情况,1,你的excel里面有公式,表格1,表格2,表格3(1和2的和),这样,你读出的第三个表格,即为自动相加的和
2,从excel里面取出数据,用java代码处理,注意取出的类型,是需要判断的,然后相加两列的话,你可以在循环外写一个变量,每循环一次,加一次!
不懂的,继续追问
java 求和
public static void main(String[] args)
{
// TODO Auto-generated method stub
int sum = 0, a = 0;
for (a = 1; a = 101; a = a + 2)
{
a = (int) (a * Math.pow(-1, a + 1));
sum += a;
}
System.out.println(sum);
}
需要强制类型转换一下
java列的求和的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java列表求和、java列的求和的信息别忘了在本站进行查找喔。