當前位置:首頁 » 編程語言 » 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個數據
熱點內容
存儲時4k 發布:2025-02-12 09:33:31 瀏覽:87
stn資料庫 發布:2025-02-12 09:32:31 瀏覽:602
iossocket編程 發布:2025-02-12 09:32:20 瀏覽:899
sql語句相等 發布:2025-02-12 09:32:19 瀏覽:351
278源碼 發布:2025-02-12 09:22:40 瀏覽:248
13人牛牛源碼 發布:2025-02-12 09:22:40 瀏覽:155
win2008r2搭建iscsi伺服器 發布:2025-02-12 09:18:30 瀏覽:634
python解壓zip 發布:2025-02-12 09:08:46 瀏覽:921
如何加強人員配置 發布:2025-02-12 09:07:54 瀏覽:417
lol一區為什麼伺服器好卡 發布:2025-02-12 09:02:22 瀏覽:629