我應該做到這一點:位頻率在一個字符串
對於其occurrence.For例如的順序中的每個號碼的輸入號碼的打印頻率:
輸入:56464
輸出:
編號頻
5 -1
6 -2
4 -2
我無法使用除了java.lang和掃描任何其他庫輸入
所以,我想這一點:
package practice2;
import java.util.Scanner;
public class DigitFrequency2
{
private static Scanner sc;
public static void main(String[] args)
{
sc = new Scanner(System.in);
System.out.println("Enter an integer number");
String sb = sc.nextLine();
System.out.println("Number\tFrequency");
int i,x,c = 0;
for(i=0;i<sb.length();i++)
{
c = 0;
for(x = i+1;x<sb.length();x++)
{
if(sb.charAt(i) == sb.charAt(x) && sb.charAt(i) != '*' && sb.charAt(x) != '*')
{
c++;
sb.replace(sb.charAt(x),'*');
}
}
if(c>0)
{
System.out.println(sb.charAt(i)+" \t"+c);
}
}
}
}
Number Frequency
6 1
4 1
我要去哪裏錯了,請幫忙。
好,'sb.replace()'不會做你的代碼什麼:字符串是不可改變的。可能你打算將字符串分配給StringBuilder? – markspace
我不能使用StringBuilder :( –
我與StringBuilder的做在這裏http://pastebin.com/vvDsvHYm –