标题:JAVA怎么实现多个int相加,多个float相加
只看楼主
sally02468
Rank: 2
来 自:山东
等 级:论坛游民
帖 子:17
专家分:14
注 册:2015-10-17
结帖率:100%
已结贴  问题点数:20 回复次数:8 
JAVA怎么实现多个int相加,多个float相加
这是运行后的结果,为什么输出的不是和呢,哪里错了?求问大神

3.0
5
1 1 1 1 1
11111
3
1.1 1.1 1.1
1.11.11.1


import java.util.Scanner;
public class SumTest {

    public static void main(String[] args) {
        Scanner reader=new Scanner(System.in);
        Add add=new Add();
System.out.println(add.add(1.5f,1.5f));
int n=reader.nextInt();
for(int i=0;i<n;i++){
int a=reader.nextInt();
System.out.print(add.add(a));
}
int m=reader.nextInt();
for(int j=0;j<m;j++){
float b=reader.nextFloat();
System.out.print(add.add(b));
}
    }
}
    class Add{
        float add(float x,float y){
        
    return x+y;
        }
     int add(int ...s){
        int x=0;
        for(int i=0;i<s.length;i++)
            x+=s[i];
            return x;
        
}
     float add(float ...s){
    float x=0;
    for(int i=0;i<s.length;i++)
        x+=s[i];
        return x;
     }
}
搜索更多相关主题的帖子: public JAVA 
2015-10-19 16:40
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2276
专家分:10647
注 册:2015-3-19
得分:12 
程序代码:
import java.util.Scanner;
public class SumTest {

    public static void main(String[] args) {
        Scanner reader=new Scanner(System.in);
        Add add=new Add();
        System.out.println(add.add(1.5f,1.5f));
        System.out.println("请输入整型数据个数");
        int n=reader.nextInt();
        for(int i=0;i<n;i++){
            System.out.printf("请输入第%d个元素",(i+1));
            Add.sum_int+=reader.nextInt();
        }
        System.out.println(Add.sum_int);
        System.out.println("请输入浮点型数据个数");
        int m=reader.nextInt();
        for(int j=0;j<m;j++){
            System.out.printf("请输入第%d个元素",(j+1));
            Add.sum_float+=reader.nextFloat();
        }
        System.out.print(Add.sum_float);
        reader.close();
    }
}
class Add{
    static int sum_int;
    static float sum_float;
    float add(float x,float y){    
        return x+y;
    }
     void add(int s){
        sum_int+=s;
     }
     void add(float s){
         sum_float+=s;
     }
}

剑栈风樯各苦辛,别时冰雪到时春
2015-10-19 18:37
Spy001
Rank: 9Rank: 9Rank: 9
来 自:山那边
等 级:贵宾
威 望:10
帖 子:138
专家分:1360
注 册:2015-1-23
得分:5 
在JAVA中,基本类型(除了boolean外)可以自动转换的,转换形式为:byte,short,char -- int --long--float--double这就是自动转换的顺序了,其中byte,short,char在运算时是自动转换为int型的,而int与long运算时自动转换为long型。从上可知,float与double运算时是自动转换为double再进行计算的,int与float运算时先转换为float再运算。也就是说,表述范围小的可以自动转换为表述范围大的,(表述范围不是指类型的大小)其次,如果你要得到某一类型的数值时,也可以通过强制转换来实现

千百年之后,谁又还记得谁........
2015-10-19 22:09
sally02468
Rank: 2
来 自:山东
等 级:论坛游民
帖 子:17
专家分:14
注 册:2015-10-17
得分:0 
回复 2楼 林月儿
谢谢啦~

生活可以廉价,但是梦想不可以
2015-10-20 15:44
w170
Rank: 1
等 级:新手上路
帖 子:1
专家分:3
注 册:2015-10-21
得分:3 
级别低的类型转变为级别高的类型时编译器自动完成转换,反过来则需要进行强制类型转换。
低到高
int x=50;
float y;
y=x;
结果y=50.0
高到低
int x=(int)34.89;
结果x=34
2015-10-21 20:25
SkyApple001
Rank: 4
来 自:Crab Sea
等 级:业余侠客
威 望:2
帖 子:120
专家分:201
注 册:2015-10-7
得分:0 
add(int ...s)是什么语法?

Crab! Crab! Crab! Do you want to be a crab? Follow me!
2015-10-22 02:49
sally02468
Rank: 2
来 自:山东
等 级:论坛游民
帖 子:17
专家分:14
注 册:2015-10-17
得分:0 
回复 7楼 SkyApple001
这是不定长参数,在调用某个方法时,若是方法的参数是同一数据类型,但是参数个数不能确定的时候可用这个语句处理。
形式:
返回值  方法名(参数数据类型...参数名)

生活可以廉价,但是梦想不可以
2015-10-24 20:15
刘俊杰
Rank: 2
等 级:论坛游民
帖 子:20
专家分:21
注 册:2014-12-6
得分:0 
回复 2楼 林月儿
     void add(int s){
        sum_int+=s;
     }
     void add(float s){
         sum_float+=s;
     }

应该没什么作用吧
2015-11-08 17:45



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-458327-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.413483 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved