gpt4 book ai didi

java - 跳出循环

转载 作者:行者123 更新时间:2023-11-29 07:11:35 26 4
gpt4 key购买 nike

我编写了一个程序来将字符 a、g、t、c 从文本框转换为另一个值,问题是当除 a、g、t、c 之外的多个值时,它会为每个无效字符显示一条错误消息。我该怎么做才能在第一个无效字符上看到它停止转换方法。下面是我的代码。谢谢

private void dna2rna() {
String DNA = dna_ta.getText();
char[]readdna;
readdna=DNA.toCharArray();
for (int x=0;x<readdna.length;x++){
switch(DNA.charAt(x))
{
case 'A': readdna[x] = 'U';break;
case 'T': readdna[x] = 'A';break;
case 'C': readdna[x] = 'G';break;
case 'G': readdna[x] = 'C';break;
case 'a': readdna[x] = 'u';break;
case 't': readdna[x] = 'a';break;
case 'c': readdna[x] = 'g';break;
case 'g':readdna[x] = 'c';break;
default:
JOptionPane.showMessageDialog(frame,
"Not a DNA Sequence.Please Retry",
"Sequence error",
JOptionPane.ERROR_MESSAGE);
dna_ta.setText("");
rna_ta.setText("");
break;
}
String rna= new String(readdna);
rna_ta.setText(rna);
}
}

问题是如果它找到默认情况,它就会退出并继续 for 循环。如何防止它通过 for 循环。

最佳答案

您可以使用标志来指示 for 循环退出:

private void dna2rna() {
String DNA = dna_ta.getText();
char[]readdna;
readdna=DNA.toCharArray();
boolean error = false;
for (int x=0;x<readdna.length && !error;x++){

switch(DNA.charAt(x))
{
case 'A': readdna[x] = 'U';break;
case 'T': readdna[x] = 'A';break;
case 'C': readdna[x] = 'G';break;
case 'G': readdna[x] = 'C';break;
case 'a': readdna[x] = 'u';break;
case 't': readdna[x] = 'a';break;
case 'c': readdna[x] = 'g';break;
case 'g':readdna[x] = 'c';break;
default:
JOptionPane.showMessageDialog(frame,"Not a DNA Sequence.Please Retry","Sequence error",JOptionPane.ERROR_MESSAGE);
dna_ta.setText("");
rna_ta.setText("");
error = true;
break; // or possibly: continue;
}
String rna= new String(readdna);
rna_ta.setText(rna);
}
}

关于java - 跳出循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13438479/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com