Java-For循环,带有包含默认大小写的switch语句。如何让默认情况下只打印一次输出?

Java-For循环,带有包含默认大小写的switch语句。如何让默认情况下只打印一次输出?,java,for-loop,switch-statement,default,Java,For Loop,Switch Statement,Default,以下默认语句完全按照其预期执行: 捕获上述情况中未提及的所有字符,并通知 (在运行字符串之后)告诉我有一个无效字符 进入了里面的某个地方。但是,如果有两个无效字符: println语句将打印两次。如果有三次:三次,等等。 在一个100000个字符的字符串中,多次打印该行将是低效的 我怎样才能让它只打印一次,不管有多少无效字符 有人报名吗? 请提前建议并感谢您对Java新手的帮助 //for loop to calculate how many A's, G's, T's, and C's i

以下默认语句完全按照其预期执行: 捕获上述情况中未提及的所有字符,并通知 (在运行字符串之后)告诉我有一个无效字符 进入了里面的某个地方。但是,如果有两个无效字符: println语句将打印两次。如果有三次:三次,等等。 在一个100000个字符的字符串中,多次打印该行将是低效的

我怎样才能让它只打印一次,不管有多少无效字符 有人报名吗? 请提前建议并感谢您对Java新手的帮助

  //for loop to calculate how many A's, G's, T's, and C's in the string
  //default statement at the end of the switch statements to weed out 
  //invalid characters. 
  for(int i=0; i < length; i++)
  {
     ch = dna.charAt(i);
     switch (ch)    
     {
        case 'A':   aCount++;
                    break;
        case 'C':   cCount++;
                    break;
        case 'G':   gCount++;
                    break;
        case 'T':   tCount++;
                    break;
        default: 
           System.out.println("An invalid character was entered.");
     }
  }
//for循环计算字符串中有多少个A、G、T和C
//要剔除的switch语句末尾的default语句
//无效字符。
for(int i=0;i
导入java.util.Scanner;
//纳迪姆·巴拉克完成
//该程序计算A、C、G和T的数量;
//如果输入的字符无效,它会根据需要打印一次语句
公共类ACGT\U DNA{
公共静态void main(字符串[]args){
//计数器设置为1;
整数长度,计数器=1;
int aCount=0,cCount=0,gCount=0,tCount=0;
char ch;
扫描仪扫描=新扫描仪(System.in);
System.out.print(“输入字符串:”);
字符串dna=scan.next();
scan.close();
长度=dna.length();
for(int i=0;i

}

如果在遇到无效字符后仍要继续计数:引入布尔标志,指示是否已经看到无效字符。。。
 import java.util.Scanner;
 //done by Nadim Baraky
 //this program calculates the number of A's, C's, G's & T's;
 //it prints a statement once as you wished in case invalid characters where entered

public class ACGT_DNA {


  public static void main (String[] args) {
     //the counter is set to be 1;
     int length, counter=1; 
     int aCount =0, cCount=0, gCount =0, tCount=0;

     char ch;

     Scanner scan = new Scanner(System.in);
     System.out.print("Enter your string: ");
     String dna = scan.next();
     scan.close();
     length = dna.length();


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

    switch (ch) {

      case 'A':   aCount++; 
                  break;
      case 'C':   cCount++;
                  break;
      case 'G':   gCount++;
                  break;
      case 'T':   tCount++;
                  break;
      default: 
         if(counter==1) { 
             System.out.println("An invalid character was entered.");
             counter++;
             //after counter is being incremented, the if statement won't be true; so no matter how invalid characters you enter, the statement will be just be printed once.
         }

    }
}

    System.out.println("A's " + aCount);
    System.out.println("C's " + cCount);    
    System.out.println("G's " + gCount);    
    System.out.println("T's " + tCount);

}