当前位置: 代码迷 >> J2SE >> 从控制盘输出10个数,合法值为1,2,3,不为这三个数字则为非法数字,编程统计每个合法数字的个数。解决方案
  详细解决方案

从控制盘输出10个数,合法值为1,2,3,不为这三个数字则为非法数字,编程统计每个合法数字的个数。解决方案

热度:102   发布时间:2016-04-24 12:18:26.0
从控制盘输出10个数,合法值为1,2,3,不为这三个数字则为非法数字,编程统计每个合法数字的个数。
每个数字在控制台出现了几次 用java怎么写? 求高手指教

------解决方案--------------------
可以有很多种处理思路,给你一个比较简单易懂的
Java code
import javax.swing.*;import java.awt.*;import java.util.Scanner;public class T {    public static void main(String[]args)throws Exception{        System.out.println("请输入10个数字,以逗号分隔");        Scanner scanner=new Scanner(System.in);        String inputStr=scanner.nextLine();        String[] ary=inputStr.split(",");        int[] nums=new int[ary.length];        for(int i=0;i<ary.length;i++){             nums[i]=Integer.parseInt(ary[i]);        }        int num1Ouput=0;        int num2Ouput=0;        int num3Ouput=0;        for(int i:nums){            if(i==1){               num1Ouput++;            }            if(i==2){               num2Ouput++;             }            if(i==3){               num3Ouput++;            }        }        System.out.println("1出现次数"+num1Ouput);        System.out.println("2出现次数"+num2Ouput);        System.out.println("3出现次数"+num3Ouput);    }}
------解决方案--------------------
Java code
import java.io.*;public class test2{public static void main(String args[]) throws IOException{ System.out.println("Please input:");byte buffer[] = new byte[512];int ct[]=new int[4];int ins=System.in.read(buffer);  for(int i=0;i<ins;i++)  {      int c=buffer[i]-'0';      switch(c)      {          case 1:              ct[c]++;              break;          case 2:              ct[c]++;              break;          case 3:              ct[c]++;              break;       }  }    System.out.printf("1 count=%d ,2 count=%d,3 count=%d ",ct[1],ct[2],ct[3]);}}
  相关解决方案