当前位置:首页 » 编程语言 » java统计个数

java统计个数

发布时间: 2022-05-29 03:48:36

㈠ 编写java程序统计字符个数。

public static void main(String[] args) {
// TODO Auto-generated method stub
int abcCount=0;//英文字母个数
int spaceCount=0;//空格键个数
int numCount=0;//数字个数
int otherCount=0;//其他字符个数
Scanner scan=new Scanner(System.in);
String str=scan.nextLine();
char[] ch = str.toCharArray();
for(int i=0;i<ch.length;i++){
if(Character.isLetter(ch[i])){
//判断是否字母
abcCount++;
}
else if(Character.isDigit(ch[i])){
//判断是否数字
numCount++;
}
else if(Character.isSpaceChar(ch[i])){
//判断是否空格键
spaceCount++;
}
else{
//以上都不是则认为是其他字符
otherCount++;
}
}
System.out.println("字母个数:"+abcCount);
System.out.println("数字个数:"+numCount);
System.out.println("空格个数:"+spaceCount);
System.out.println("其他字符个数:"+otherCount);

㈡ Java 统计输入正数个数

import java.util.Scanner;
import java.util.regex.*; //Java使用正表达式必须导入此包
public class test{
private static int count = 0;//统计正整数出现的次数
//使用正则表达式判断是否是整数(正数、负数和0)
private static boolean isNumber(String str){
return str.matches("^(0|[1-9][0-9]*|-[1-9][0-9]*)$");
}
//递归实现无限循环
private static void input(){
try { //加try...catch就是为了处理一个数字输入过长产生的异常
System.out.print("请输入一个整数:");
String inputNum = new Scanner(System.in).next();
if (isNumber(inputNum)==false) {//当输入不是整数的时候结束游戏
System.out.println("输入错误,游戏结束!");
}else if(count>2147483647||Integer.parseInt(inputNum)>Integer.MAX_VALUE||Integer.parseInt(inputNum)<Integer.MIN_VALUE){//当数字超过最大允许个数的时候提示
System.out.println("数字个数超出允许范围!");
}else if(Integer.parseInt(inputNum)>0){
count++;
input(); //递归调用
}else{
System.out.println("正整数有"+count+"个!");
}
} catch (Exception e) {
System.out.println("数字个数超出允许范围!");
}
}
public static void main(String[] args) {
input();
}
}

㈢ java8 统计字符串字母个数的几种方法(有你

importjava.util.HashMap;
importjava.util.Map;

publicclassDemo{
publicstaticvoidmain(String[]args){
Stringstr="abcabc哈哈cde";

Map<Character,Integer>map=newHashMap<>();
for(charc:str.toCharArray()){
Integercount=map.get(c);
if(count==null){
map.put(c,1);
}else{
map.put(c,count+1);
}
}

System.out.println("字符 次数");
for(Map.Entry<Character,Integer>entry:map.entrySet()){
System.out.println(entry.getKey()+" "+entry.getValue());
}
}
}

㈣ java统计数组中连续元素出现的个数

		int[]nums=newint[]{0,2,3,7,8,9,10,12};
intcount=0;
for(inti=0;i<nums.length-1;i++){
if(nums[i]==nums[i+1]-1){
System.err.println("符合《《"+nums[i]);
count++;
}elseif(i>0){
if(nums[i]-1==nums[i-1]){
System.err.println("符合《《"+nums[i]);
count++;
}
}
}
System.err.println(count);
//不知道你怎么算的5,我理解的实现算出来是6啊

㈤ Java编程,输入n和相应的n个数,统计输出n个数中负数、零和正数的个数。

import java.util.Scanner;
public class test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入要统计数据的个数,n=");
int n = sc.nextInt();
int sum_zero = 0;
int sum_positive = 0;
int sum_negative = 0;
int temp = 0;
System.out.println("下面请依次请输入" + n + "个数:");
for (int i = 1; i <= n; i++) {
System.out.println("第" + i + "个数=");
temp = sc.nextInt();
if (temp < 0) {
sum_negative++;
} else if (temp > 0) {
sum_positive++;
} else {
sum_zero++;
}
}
System.out.println("正数个数=" + sum_positive);
System.out.println("负数个数=" + sum_negative);
System.out.println("零的个数=" + sum_zero);
}
}

㈥ java中 如何统计一段字符串中相同字符的个数

通过循环遍历字符串,然后一个个的比较,记下相同字符的个数就行了。代码如下:

importjava.util.Scanner;
importjava.util.TreeMap;
/**
*从键盘输入16位长整数,编程统计每个数字出现的个数
*@authoryoung
*
*/
publicclassCharMapDemo{
//统计数字或者字符出现的次数
publicstaticTreeMap<Character,Integer>Pross(Stringstr){
char[]charArray=str.toCharArray();

TreeMap<Character,Integer>tm=newTreeMap<Character,Integer>();

for(intx=0;x<charArray.length;x++){
if(!tm.containsKey(charArray[x])){
tm.put(charArray[x],1);
}else{
intcount=tm.get(charArray[x])+1;
tm.put(charArray[x],count);
}
}
returntm;
}

publicstaticvoidmain(String[]args){
Scannersc=newScanner(System.in);
// System.out.println("请输入一个长整数:");
// inttemp=sc.nextInt();
// Stringstr=String.valueOf(temp);
// TreeMap<Character,Integer>tm=Pross(str);
// System.out.println(tm);

System.out.println("请输入一个字符串:");
Stringstr=sc.nextLine();
TreeMap<Character,Integer>tm=Pross(str);
System.out.println(tm);
}
}

㈦ 统计一个整数中数字的个数 java

public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("输入:");
int repeat = 0;
String str = scanner.nextLine();// 获得键盘输入
try {// 扑捉非法字符
repeat = Integer.parseInt(str);// 将字符串转换成整型,得到repeat

int number = 0;
if (repeat > 0) {
int[] data = new int[repeat];
for (int i = 0; i < repeat; i++) {
str = scanner.nextLine();// 获得键盘输入
try {
number = Integer.parseInt(str);// 将字符串转换成整型,得到n
} catch (Exception e) {
System.out.println("Error Input!");
}
data[i] = number;
}
System.out.println("输出");
for (int i = 0; i < repeat; i++) {
countdigit(data[i], 2);
}
}

} catch (Exception e) {
System.out.println("Error Input!");
}

}

private static void countdigit(int number, int i) {
// TODO Auto-generated method stub
int count = 0;
boolean finishFlag = false;
number = (number > 0 ? number : -1 * number);
while (!finishFlag) {
if (number / 10 == 0) {
finishFlag = true;
}
if ((int) (number - (number / 10) * 10) == i) {
count++;
}
number /= 10;
}
System.out.println("count=" + count);
}

㈧ java 统计字符串中字母的个数,如何修改

importjava.util.Scanner;
/**
*统计字符串中数字,字母,空格,其他字符的个数
*@authorAdministrator
*
*/
publicclassData01{
publicstaticvoidmain(String[]args){
intenglishCount=0;//英文字母个数
intspaceCount=0;//空格个数
intnumCount=0;//数字个数
intotherCount=0;//其他字符个数
Scannersc=newScanner(System.in);
System.out.println("请您输入一行字符:");
Stringstr=sc.nextLine();//取得控制台输入的一行字符
char[]ch=str.toCharArray();//把取道的字符串变成一个char数组
for(inti=0;i<ch.length;i++){
if(Character.isLetter(ch[i])){
//判断是否为字母
englishCount++;
}elseif(Character.isSpaceChar(ch[i])){
//判断是否为空格
spaceCount++;
}elseif(Character.isDigit(ch[i])){
//判断是否为数字
numCount++;
}else{
//以上都不是则认为是其他字符
otherCount++;
}
}
System.out.println("字母的个数:"+englishCount);
System.out.println("数字的个数:"+numCount);
System.out.println("空格的个数:"+spaceCount);
System.out.println("其他字符的个数:"+otherCount);
}
}

㈨ java统计串中字符个数的代码解释

整个代码就是为了统计字符串中各个字符出现的个数
Map
result
=
getCharMaps(s);
这个方法调用
主要是看这个方法
public
static
Map
getCharMaps(String
s)
{
Map
map
=
new
HashMap();
//定义一个map
for(int
i
=
0;
i
<
s.length();
i++)
{
//
下面的代码主要是循环字符串,一次取出每一个字符
Character
c
=
s.charAt(i);
//获取对应的字符
Integer
count
=
map.get(c);
//获取字符对应出现的次数
map.put(c,
count
==
null
?
1
:
count
+
1);
//如果之前出现过,则加1,否则直接赋1
}
return
map;
//返回最终的map
}

㈩ 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个数据
热点内容
stl源码剖析笔记 发布:2025-02-12 05:01:51 浏览:584
教务系统web服务器搭建 发布:2025-02-12 05:01:17 浏览:92
全国dns服务器地址大全 发布:2025-02-12 05:01:13 浏览:680
安卓什么软件能拍到月亮 发布:2025-02-12 04:59:42 浏览:779
手机卡忘记服务密码怎么办 发布:2025-02-12 04:59:10 浏览:371
如何让助理服务器可以被远程 发布:2025-02-12 04:47:11 浏览:769
存储空间不足但 发布:2025-02-12 04:46:27 浏览:275
树莓派编程板 发布:2025-02-12 04:41:45 浏览:906
php取整 发布:2025-02-12 04:33:21 浏览:223
我的世界创造服务器位置 发布:2025-02-12 04:24:49 浏览:703