java怎么样输出字符串中的字符? JAVA程序中如何输出一个字符串中相同字符的个数

java\u4e2d\u5982\u4f55\u8f93\u51fa\u5b57\u7b26\u4e32\u91cc\u7684\u6bcf\u4e2a\u5b57\u7b26

public class Yugi{ public static void main(String[] args){ String str = "23234sdfsf"; for(int i = 0; i < str.length(); i++){ System.out.println(str.charAt(i)); } }}

JAVA\u7a0b\u5e8f\u4e2d\u5982\u4f55\u8f93\u51fa\u4e00\u4e2a\u5b57\u7b26\u4e32\u4e2d\u76f8\u540c\u5b57\u7b26\u7684\u4e2a\u6570\uff0c\u4ee3\u7801\u5982\u4e0b\uff1a
import java.util.HashMap;import java.util.Map;public class TestC {public static void main(String[] args){//\u8981\u7edf\u8ba1\u5b57\u7b26\u4e2a\u6570\u7684\u5b57\u7b26\u4e32String str="abcdeab";//\u6bcf\u4e2a\u5b57\u7b26\u548c\u4e2a\u6570\u90fd\u5b58\u653e\u5728\u96c6\u5408\u4e2d\uff0cMap map=new HashMap();//\u904d\u5386\u5b57\u7b26\u4e32for(int x=0;x<str.length();x++){//\u83b7\u53d6\u5b57\u7b26char c=str.charAt(x);//\u5224\u65ad\u8be5\u5b57\u7b26\u662f\u5426\u5b58\u5728\u96c6\u5408if(map.get(c)==null){//\u4e0d\u5b58\u5728\u5c31\u5b58\u8fdb\u53bbmap.put(c, 1);}else{//\u5b58\u5728\u4e86\u5c31\u52a0\u4e00int count= map.get(c)+1;map.put(c, count);}}//\u8f93\u51fa\u6bcf\u4e2a\u5b57\u7b26\u7684\u51fa\u73b0\u6b21\u6570System.out.println(map);}}\u8f93\u51fa\u7ed3\u679c\uff1a{d=1, e=1, b=2, c=1, a=2}

代码改好,你之所以出错是因为那个
for (int i = 0; i < d.length; i++)
{
for (int j = 0; j < d.length; j++)
{
这样的话你想想,如果是"abcabc",那就变成"a"--"abcabc",b--"abcabc",c--"abcabc","a"--"abcabc",b--"abcabc",c--"abcabc"
而你每次都往数组里加一个,所以重复了,改好的代码在下面。

import java.lang.String;

public class Charx {
public static void main(String args[]) {
System.out.println("请输入字符串");
String str = "how are you doing this?";
// String str = "aaa bbb ccc ddd";
System.out.println(str);

int sum[] = new int[100];
char d[] = str.toCharArray();
StringBuffer sb = new StringBuffer("");
boolean isAdd = false;
int i=0;
int j=0;

for(i=0;i<d.length;i++){
for(j=0;j<sb.length();j++){
//如果该字符已经出现过
if(d[i] == sb.charAt(j)){
++sum[j];
isAdd = true;
break;
}
isAdd = false;
}
//如果未添加,说明是新出现的字符
if(!isAdd){
sb.append(d[i]);
sum[sb.length()]++;

}
}
for (i = 0; i < sb.length(); i++) {
System.out.println(sb.charAt(i) + "出现" + sum[i] + "次");
}

}
}

  • java鎬庝箞鎶瀛楃涓蹭腑鐨勭殑姹夊瓧鍙栧嚭鏉
    绛旓細1.鍒ゆ柇瀛楃涓叉槸鍚﹀叏鏄眽瀛椼係tring str1 = "java鍒ゆ柇鏄惁涓烘眽瀛"String str2 = "鍏ㄤ负姹夊瓧"String reg = "[\\u4e00-\\u9fa5]+"boolean result1 = str1.matches(reg)//false boolean result2 = str2.matches(reg)//true 2.鎻愬彇瀛楃涓蹭腑鐨勬眽瀛銆係tring str = "java鎬庝箞鎶奱sdasd瀛楃涓蹭腑鐨...
  • java鎬庝箞鏍疯緭鍑哄瓧绗︿覆涓殑瀛楃?
    绛旓細String s;s=JOptionPane.showInputDialog("璇疯緭鍏瀛楃涓锛");System.out.println("浣犺緭鍏ュ瓧绗︿覆锛 "+s);A a=new A();a.setmax(s);System.out.println("浣犺緭鍏ュ瓧绗︿覆闀夸负锛 "+a.max);a.sort(s);a.print();System.exit(0);}
  • 缂栧啓Java绋嬪簭,灏嗕竴瀛楃涓鍏朵腑鐨勫ぇ灏忓啓瀛楁瘝鐨勫瓧绗﹀垎鍒杈撳嚭
    绛旓細寰幆瀛楃涓茬敤charAt鏂规硶鏉ヨ幏鍙栧瓧绗锛屽皢瀛楃杞负int锛屽彧瑕佸垽鏂浆鎹㈠悗鐨勬暟鍊煎氨鍙互鍒ゆ柇澶у皬鍐欏瓧姣嶏紝澶у啓瀛楁瘝鐨勮寖鍥存槸65-90锛屽皬鍐欏瓧姣嶇殑鑼冨洿鏄97-122銆俻ublic class Main { public static void main(String[] args) { String s = "aaBvdEFdsd";StringBuffer ss = convertString(s);System.out.println(...
  • java鎬庝箞鏍疯緭鍑哄瓧绗︿覆涓殑瀛楃?
    绛旓細for (int j = 0; j < d.length; j++){ 杩欐牱鐨勮瘽浣犳兂鎯筹紝濡傛灉鏄"abcabc",閭e氨鍙樻垚"a"--"abcabc",b--"abcabc",c--"abcabc","a"--"abcabc",b--"abcabc",c--"abcabc"鑰屼綘姣忔閮藉線鏁扮粍閲屽姞涓涓紝鎵浠ラ噸澶嶄簡锛屾敼濂界殑浠g爜鍦ㄤ笅闈俰mport java.lang.String;public class Charx {...
  • java杈撳叆涓涓瓧绗︿覆,瑕佹眰灏嗚瀛楃涓蹭腑鍑虹幇鐨勮嫳鏂囧瓧姣,鎸夌収椤哄簭 杩涜杈撳嚭...
    绛旓細// 鍙栧嚭澶у啓瀛楁瘝锛屾嫾鎴瀛楃涓 StringBuilder result = new StringBuilder();for (int i = 0; i < upperCaseArr.length; i++) { result.append(upperCaseArr[i]);} // 瀹氫箟鎺ユ敹鍓╀綑瀛楁瘝 StringBuilder remainingStr = new StringBuilder();for (int i = 0; i < lowerCaseArr.length; i++)...
  • java涓浣鑾峰緱瀛楃涓蹭腑鐨鏌愪釜瀛楃
    绛旓細String绫绘湁涓涓柟娉曞彨鍋歝harAt(index);杩欎釜index鏄〃绀哄瓧绗﹀湪瀛楃涓蹭腑鐨浣嶇疆銆傚鏋滀綘瑙夊緱杩欎釜鍥炵瓟涓嶆弧鎰忥紝浣犲彲浠ユ妸鍏蜂綋鎯呭喌璐村嚭鏉ャ
  • java 濡備綍鎵撳嵃瀛楃涓蹭腑鐨涓枃
    绛旓細public static void main(String[] args) { String str = "case when 鏉′欢 1 in (鈥樺煄鍖哄巺锛屼埂闀囧巺鈥)"; String reg = "[\\u4e00-\\u9fa5]"; Pattern pattern = Pattern.compile(reg); Matcher matcher = pattern.matcher(str); while(matcher.find()){ System.out.p...
  • java濡備綍鑾峰彇瀛楃涓蹭腑鐨涓枃
    绛旓細鐢╯ubstring鏂规硶鍙栧緱涓枃瀛楁銆佺劧鍚庣敤append鍜屽師鏉瀛楃涓鎷兼帴銆傚氨杩欎箞绠鍗
  • 灏瀛楃涓蹭腑鐨鏁板瓧鍜屽瓧姣嶅垎鍒杈撳嚭,鍙互閲嶅 java瀹炵幇
    绛旓細public static void print(String str){ StringBuffer sb1 = new StringBuffer();StringBuffer sb2 = new StringBuffer();int length = str.length();for(int i=0;i<length;i++){ char temp = str.charAt(i);if(Character.isDigit(temp)){ sb1.append(temp);}else { sb2.append(temp)...
  • java涓jtextfield涓濡備綍杈撳嚭瀛楃涓鎿嶄綔
    绛旓細杈撳嚭瀛楃涓锛屽彲浠ョ敤瀹冪殑鐖剁被鏂规硶锛歴etText(String t)鏉ュ疄鐜般傚彧瑕佹妸闇鏄剧ず鐨勫瓧绗︿覆浣滃疄鍙傝皟鐢ㄨ繖涓柟娉曞氨鍙互銆傛瘮濡傦細String str="浣犲ソ";text.setText(str);鍚嶄负text鐨凧TextField缁勪欢鐨勫唴瀹瑰氨浼氭樉绀轰负鈥滀綘濂解濄傚彟澶栵紝瑕佸彇寰楀叾鍐呭锛屽垯瑕佺敤鍒癵etText()鏂规硶锛岃鏂规硶杩斿洖涓涓瓧绗︿覆锛屽叾鍐呭涓虹粍浠剁殑鍐呭銆
  • 本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网