❶ java 怎么对数据各字段的值做统计分析
写for循环来算,可以写一个接口,返回一个数值,然后根据你的要求去实现它。统计哪个数就放哪个实现类。JAVA不像Python那么多数学分析函数可用,当然也有第三方的数学计算包,看你找不找得到了。
❷ java统计每组实验数据中的最大值,最小值,平均值。
importjava.math.BigDecimal;
importjava.text.DecimalFormat;
importjava.util.Scanner;
publicclassTest{
(Stringprompt){
Scannerscanner=newScanner(System.in);
System.out.print(prompt);
returnscanner.nextLine();
}
privatestaticvoidhandArray(Stringinput){
if(null==input||"".equals(input)){
System.out.println("输入参数不能为空");
return;
}
DecimalFormatdf=newDecimalFormat("#.00");
String[]tempArray=input.split("");
Doublemin=null;
Doublemax=null;
BigDecimaltotal=newBigDecimal(0.0);
for(Stringtemp:tempArray){
if(min==null){
min=Double.parseDouble(temp);
}else{
if(min>Double.parseDouble(temp)){
min=Double.parseDouble(temp);
}
}
if(max==null){
max=Double.parseDouble(temp);
}else{
if(max<Double.parseDouble(temp)){
max=Double.parseDouble(temp);
}
}
total=total.add(newBigDecimal(Double.parseDouble(temp)));
}
BigDecimalave=total.divide(newBigDecimal(tempArray.length),2);
System.out.println(df.format(min)+""+df.format(max)+""+df.format(ave.doubleValue()));
}
publicstaticvoidmain(String[]args){
Integerrepeat=newInteger(1);
while(repeat>0){
Stringstr=readDataFromConsole("Pleaseinputrunningtime:");
repeat=Integer.parseInt(str);
if(repeat<=0||repeat>100){
System.out.println("");
}else{
String[]inputArrays=newString[repeat*2];
for(inti=0;i<repeat*2;i++){
Scannerscanner=newScanner(System.in);
inputArrays[i]=scanner.nextLine();
}
System.out.println("输出");
for(Stringinput:inputArrays){
if(input.split("").length>1){
handArray(input);
}
}
repeat=0;
}
}
}
}
输入输出:
Pleaseinputrunningtime:2
3
369
5
1.91.83.445.66.7
输出
3.009.006.00
1.806.703.89
❸ #java如何实现数据统计#用Java实现店铺的数据统计,PV,UV等信息
1、在第三方网站中加入统计脚本;
2、当网站被访问时候,脚本会发送当前浏览器的信息、访问者的信息及当前页面信息提交到统计的服务器;
3、统计服务器定期对提交上来的数据进行分析和汇总;
❹ Java如何进行数据库里的数据统计
你这个跟java没什么关系,数据库自己就能实现。
T-SQL这样写就可以了
select * into table2 from table1
where (time>3:00 and time<5:00) --这句是伪代码,你把条件改对
如果要统计数据条数,另写一条sql查。
如果table2已经建好,请先删除。
-------------------------------------------------------
这还不简单啊,把上面的内容组合一下。
select count(*) as count_num from table1 where (你的条件)
--这句得到数据条数了。
再加上这句
select no,time from table1 where (你的条件)
--这句得到所有符合条件的数据。
插入也可以用子查询
--假设table2的id是自增的
insert into table2(no,time) values(
select no,time from table1 where(你的条件)
)
你在java里通过这些查询已经得到你要的数据了,再处理下就行了。
也可以把所有的查询都变成子查询然后放到一个SQL语句里面,不过好象没必要。
❺ 用java统计数据库的数据
private Connection conn=null;
private PreparedStatement ps=null;
private String DRIVER="com.microsoft.sqlserver.jdbc.SQLServerDriver";
private String STRCONN="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=merchandise";
private String USER="sa";
private String PASS="sasa";
/**
* 创建一个连接方法
*/
public Connection createConnection(){
try {
Class.forName(DRIVER);
conn=DriverManager.getConnection(STRCONN,USER,PASS);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
上面是连接 sql server 2005的方法 下面是要查的用法
总数:select count(*)from
表名男生人数:select count(*)from 表名 where
性别那一列的名字='男'女生的把上面改一下就行了
❻ Java 统计数据库中符合条件的行数 怎么做
有两种方式
1.通过sql语句:
如select count(id) from tab where id<10;
这样查出来的就是行数
2. 在java中
//sqlRst是ResultSet 对象的实例
int RowCount = sqlRst.getRow();//获得当前行号
❼ java开发动态表单怎么存储数据和统计
java开发动态表单存储数据和统计步骤是:
1、通过一个表定义的表(有点绕),描述一下表和数据字段的信息。
2、通过数据描述,描述数据表的基本组成。
3、完成。
❽ java 中有没有统计同一类型数据个数的函数
好像直接的方法统计个数没有,需要你自己分割计数或者用正则表达式匹配来计算。
❾ Java关于数组统计数据
大个比方。第一个集合responses[]里面放的是班级每人的分数,从0分到10分。 有人得1分 有人得2分 有人得3分。第二个集合,有连个作用:他的下标(就是0,1,2,3,4等等)代表的是分数,因为他声明的时候int frequency[]=new int[11];所以这个集合的长度是11位,整好是0分~11分。 第一个循环,每当出现一次1分,就把第二个集合里的第1个值+1. 每当出现一个2分,就把第二个集合里的第2个值+1.。 到最后,第二个集合frequency里,放的信息就是:下标+下标所代表的分数出现的次数。 下标是0,就代表0分,frequency[0]就代表0分出现了几次(即有几个人是0分),同理下标是1,就代表1分,frequency[1]就代表1分出现了几次(即有几个人是1分)
❿ java怎样将集合中的数值数据分区间统计个数:例如(0-1000)有几个人数据,1000-2000有几个数据
集合分组统计处理, 实现的方法很多,简单的写几种方法供参考;(理解后,自行扩展完善)
方法一:(Java8流处理粗略版) 该版本存在的问题:有些区间没有数据,就不打印显示该区间
importjava.util.*;
importjava.util.stream.*;
publicclassNumberDemo{
publicstaticvoidmain(String[]args){
ArrayList<Integer>list=newArrayList<Integer>();
intnumbers=10;//集合里数字的个数
intspace=1000;//区间的间隔
//给集合里添加数字
Randomrd=newRandom();
for(inti=0;i<numbers;i++){
list.add(rd.nextInt(5000));//集合里每个数字的范围是0~4999
}
funStream(list,space);
}
privatestaticvoidfunStream(ArrayList<Integer>list,intspace){
//使用流处理把数字分组
Map<String,List<Integer>>map=list.stream().collect(Collectors.groupingBy((num)->{
return"区间:["+num/space*space+","+(num/space+1)*space+")";//分组规则
}));
map.forEach((k,v)->{
System.out.println(k);
System.out.println(" "+v.size()+"个数据");
});
}
}
方法二:(Java8流处理详细版) 就算有的区间是0个数据,照样打印出来
importjava.util.*;
importjava.util.stream.*;
publicclassNumberDemo2{
publicstaticvoidmain(String[]args){
ArrayList<Integer>list=newArrayList<Integer>();
intnumbers=10;//集合里数字的个数
intspace=1000;//区间的间隔
//给集合里添加数字
Randomrd=newRandom();
for(inti=0;i<numbers;i++){
list.add(rd.nextInt(5000));//集合里每个数字的范围是0~4999
}
funStream(list,space);
}
privatestaticvoidfunStream(ArrayList<Integer>list,intspace){
//使用流处理把数字分组
Map<Integer,List<Integer>>map=list.stream().collect(Collectors.groupingBy((num)->{
returnnum/space;//分组规则
}));
//获取集合里的最大值
Optional<Integer>maxop=list.stream().collect(Collectors.maxBy(Integer::compareTo));
intmax=maxop.orElse(0);
//计算出区间的数量
intgroups=max%space==0?max/space:max/space+1;
//打印结果
for(inti=0;i<groups;i++){
System.out.println("区间:["+i*space+","+(i+1)*space+")");
System.out.println(" 有"+(map.get(i)==null?0:map.get(i).size())+"个数据");
//System.out.println(" "+map.get(i));//把数据打印出来
}
}
}
方法三:(比较传统的方法)
importjava.util.*;
publicclassNumberDemo3{
publicstaticvoidmain(String[]args){
ArrayList<Integer>list=newArrayList<Integer>();
intnumbers=10;//集合里数字的个数
intspace=1000;//区间的间隔
//给集合里添加数字
Randomrd=newRandom();
for(inti=0;i<numbers;i++){
list.add(rd.nextInt(5000));//集合里每个数字的范围是0~4999
}
fun(list,space);
}
privatestaticvoidfun(ArrayList<Integer>list,intspace){
Collections.sort(list);//排序
intmax=list.get(list.size()-1);//取得最大值
intgroups=max%space==0?max/space:max/space+1;//取得区间的数量
HashMap<Integer,ArrayList<Integer>>map=newHashMap<Integer,ArrayList<Integer>>();//存区间和该区间的数字
for(inti=0;i<groups;i++){
map.put(i,newArrayList<>());
}
//把元素添加到指定的区间
for(inti=0;i<list.size();i++){
map.get(list.get(i)/space).add(list.get(i));
}
//打印结果
for(inti=0;i<groups;i++){
System.out.println("区间:["+i*space+","+(i+1)*space+")");
System.out.println(" 有"+map.get(i).size()+"个数据");
//System.out.println(" "+map.get(i));//把数据打印出来
}
}
}
测试效果如下
区间:[0,1000)
有5个数据
区间:[1000,2000)
有0个数据
区间:[2000,3000)
有1个数据
区间:[3000,4000)
有2个数据
区间:[4000,5000)
有2个数据