使用java,如何计算字符串中字符的出现次数,然后使用循环使用列出位置的文本格式化输出

使用java,如何计算字符串中字符的出现次数,然后使用循环使用列出位置的文本格式化输出,java,string,loops,charat,Java,String,Loops,Charat,我了解如何计算字符串中特定字符的出现次数。我正在努力打印“特定字符位于x、y、z位置”。如果我将文本放置在测试位置的循环中,文本将被打印多次。我不希望这种情况发生 还有其他限制。我必须让程序保持基本,并且我仅限于使用charAt()和string.lenghth()函数。仅当用户输入“-1”时,程序才应退出。当用户输入字符串时,程序应通读字符,输出特定字符的位置,然后提示用户输入新字符串。我还努力让用户输入一个新字符串并再次运行循环 这是我到目前为止的代码 import java.util.Sc

我了解如何计算字符串中特定字符的出现次数。我正在努力打印“特定字符位于x、y、z位置”。如果我将文本放置在测试位置的循环中,文本将被打印多次。我不希望这种情况发生

还有其他限制。我必须让程序保持基本,并且我仅限于使用charAt()和string.lenghth()函数。仅当用户输入“-1”时,程序才应退出。当用户输入字符串时,程序应通读字符,输出特定字符的位置,然后提示用户输入新字符串。我还努力让用户输入一个新字符串并再次运行循环

这是我到目前为止的代码

import java.util.Scanner;

public class GimmeAW {
public static void main(String[] args) {

    Scanner input = new Scanner(System.in);
    System.out.println("Enter the Line\nEntering -1 exits the program")           
    String aLine;

    aLine = input.nextLine();
    char one = aLine.charAt(0);
    char two = aLine.charAt(1);

    if (one == '-' && two == '1') {
        System.out.println("System Exit");
        System.exit(1);
    }

    for (int i = 0; i < aLine.length(); i++) {

        if (aLine.charAt(i) == 'w' || aLine.charAt(i) == 't') {
            int location = i;
            System.out.print(" " + i);
        }
    }
}
import java.util.Scanner;
公共级金杯{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(System.in);
System.out.println(“输入行\n输入-1退出程序”)
弦线;
aLine=input.nextLine();
char one=aLine.charAt(0);
char two=aLine.charAt(1);
如果(一=='-'&&2=='1'){
System.out.println(“系统退出”);
系统出口(1);
}
对于(int i=0;i
为了避免多次打印消息,只需将消息保持在计数循环之外,并为每个字符打印一次

char[] ch = {'w', 't'}; // characters to count
int l = aLine.length();

for(int i = 0; i < ch.length; i++) {

    System.out.print("The character " + ch[i] + " is at locations ");
    // searching
    for(int j = 0; j < l; j++) {
        if(aLine.charAt(j) == ch[i]) {
            System.out.print(j + " ");
        }
    }
    System.out.println();
}

“我也在努力让用户输入一个新字符串并再次运行循环。”提示:如何在Java中重复执行某些操作?您可以通过以下方式检查“-1”条件:if(!(“-1”).equals(aLine))这是否使用数组?如果是,我还不能使用它。我是否可以仅使用charAt()和length()来使用该逻辑函数?该数组仅用于存储字符…您可以将其删除,并将字符直接放在
ch[i]
的位置进行比较。
String choice = "yes";
do {
    // code

    // want to repeat ??
    choice  = in.nextLine();

} while(choice.equals("yes"));