统计字符串中首先出现3次的字符

来源:互联网 发布:linux 进城kill不掉 编辑:程序博客网 时间:2024/06/05 00:50

题目描述

      用户输入一个英文的字符串,写一段代码找出这个字符串中首先出现三次的那个英文字符。

输入描述

      用户输入一个英文的字符串。

输出描述

      输出首先出现三次的那个英文字符。

实例

      输入:

      Have you ever gone shopping and

      输出:

      e

next与nextLine的区别

      用户通过Scanner类中的next和nextLine进行获取用户输入的字符。

next():
      1.一定要读取到有效字符后才可以结束输入。
      2.对输入有效字符之前遇到的空白,next()方法会自动将其去掉。
      3.只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
      4.next()不能得到带有空格的字符串。

nextLine():
      1.以Enter为结束符,nextLine()方法返回的是输入回车之前的所有字符。
      2.可以获得空白。

next与nextLine的效果演示

      java演示代码:

import java.util.Scanner;public class usenext {    public static void main(String[] args) {        Scanner sc = new Scanner(System.in);         String str=sc.next();//      String str=sc.nextLine();        System.out.println(str);    }}

      用户输入 public static void main 字符串,next方法将会输出public结果,而nextLine方法将会输出public static void main。

java代码

      源码1:

package experie;import java.util.*;  public class zifutongji{      public static void main(String[] args){          Scanner sc = new Scanner(System.in);         StringBuilder str = new StringBuilder();          str.append(sc.nextLine());          char[] c = str.toString().trim().toCharArray();          int[] a = new int[127];          for(char s : c){              a[s]++;              if((s >= 'a' && s <= 'z' || s >= 'A' && s <= 'Z') && a[s] == 3){                  System.out.print(s);                  break;              }        }    }  } 

      源码2:

package experie;import java.util.*;public class zifu1{    public static char FindFirstTwoChar(String s)    {        char [] ch=s.toCharArray();        int []data=new int[57];        for(int i=0;i<data.length;i++)        {            data[i]=0;        }        for(int i=0;ch[i]!='\0';i++)        {            if((ch[i]>='a'&&ch[i]<='z')||(ch[i]>='A'&&ch[i]<='Z'))   //当字母是小写字母或者大写字母时。            {                int temp=ch[i]-'A';  //这样可以从char型转换成int型。                data[temp]++;                if(data[temp]>=3)                {                    char c=(char)(temp+'A');                    return c;                }            }        }        return 0;    }    public static void main(String []args)    {        Scanner scan=new Scanner(System.in);//        String str=scan.next();                       String str=scan.nextLine();        char c=FindFirstTwoChar(str);        System.out.println(c);    }}

      以上的两个源码都能够实现统计首先出现3次的字符。

效果截图

效果截图1



效果截图2

阅读全文
0 0