System.out.print()
未在输出框中显示所有内容,当我输入多个字符时,它会自动生成一个新行。我输入了645个字符,当我按下输入时,它应该给我相应的215个字符。我应该使用System.out.print()
以外的其他内容吗?
import java.io.*;
public class Animal {
public static void main(String[] args) {
int A = 0;
int B = 1;
int C = 2;
System.out.print("codons=");
String str = read();
for (int num = 0; num <= str.length() / 3; num++) {
if (str.charAt(A) == 'T' && str.charAt(B) == 'A' && str.charAt(C) == 'G') {
System.out.print("a");
} else if (str.charAt(A) == 'A' && str.charAt(B) == 'G' && str.charAt(C) == 'T') {
System.out.print("b");
} else if (str.charAt(A) == 'T' && str.charAt(B) == 'T' && str.charAt(C) == 'T') {
System.out.print("c");
} else if (str.charAt(A) == 'A' && str.charAt(B) == 'T' && str.charAt(C) == 'T') {
System.out.print("d");
} else if (str.charAt(A) == 'T' && str.charAt(B) == 'A' && str.charAt(C) == 'A') {
System.out.print("e");
} else if (str.charAt(A) == 'G' && str.charAt(B) == 'G' && str.charAt(C) == 'C') {
System.out.print("f");
} else if (str.charAt(A) == 'T' && str.charAt(B) == 'A' && str.charAt(C) == 'C') {
System.out.print("g");
} else if (str.charAt(A) == 'T' && str.charAt(B) == 'C' && str.charAt(C) == 'A') {
System.out.print("h");
} else if (str.charAt(A) == 'C' && str.charAt(B) == 'T' && str.charAt(C) == 'G') {
System.out.print("i");
} else if (str.charAt(A) == 'G' && str.charAt(B) == 'T' && str.charAt(C) == 'T') {
System.out.print("j");
} else if (str.charAt(A) == 'G' && str.charAt(B) == 'C' && str.charAt(C) == 'A') {
System.out.print("k");
} else if (str.charAt(A) == 'A' && str.charAt(B) == 'A' && str.charAt(C) == 'C') {
System.out.print("l");
} else if (str.charAt(A) == 'C' && str.charAt(B) == 'A' && str.charAt(C) == 'A') {
System.out.print("m");
} else if (str.charAt(A) == 'T' && str.charAt(B) == 'G' && str.charAt(C) == 'C') {
System.out.print("n");
} else if (str.charAt(A) == 'C' && str.charAt(B) == 'G' && str.charAt(C) == 'T') {
System.out.print("o");
} else if (str.charAt(A) == 'A' && str.charAt(B) == 'C' && str.charAt(C) == 'A') {
System.out.print("p");
} else if (str.charAt(A) == 'T' && str.charAt(B) == 'T' && str.charAt(C) == 'A') {
System.out.print("q");
} else if (str.charAt(A) == 'C' && str.charAt(B) == 'T' && str.charAt(C) == 'A') {
System.out.print("r");
} else if (str.charAt(A) == 'G' && str.charAt(B) == 'C' && str.charAt(C) == 'T') {
System.out.print("s");
} else if (str.charAt(A) == 'T' && str.charAt(B) == 'G' && str.charAt(C) == 'A') {
System.out.print("t");
} else if (str.charAt(A) == 'T' && str.charAt(B) == 'C' && str.charAt(C) == 'C') {
System.out.print("u");
} else if (str.charAt(A) == 'T' && str.charAt(B) == 'T' && str.charAt(C) == 'G') {
System.out.print("v");
} else if (str.charAt(A) == 'G' && str.charAt(B) == 'T' && str.charAt(C) == 'C') {
System.out.print("w");
} else if (str.charAt(A) == 'G' && str.charAt(B) == 'G' && str.charAt(C) == 'T') {
System.out.print("x");
} else if (str.charAt(A) == 'C' && str.charAt(B) == 'A' && str.charAt(C) == 'T') {
System.out.print("y");
} else if (str.charAt(A) == 'T' && str.charAt(B) == 'G' && str.charAt(C) == 'G') {
System.out.print("z");
} else if (str.charAt(A) == 'T' && str.charAt(B) == 'C' && str.charAt(C) == 'T') {
System.out.print("0");
} else if (str.charAt(A) == 'C' && str.charAt(B) == 'T' && str.charAt(C) == 'T') {
System.out.print("1");
} else if (str.charAt(A) == 'A' && str.charAt(B) == 'C' && str.charAt(C) == 'T') {
System.out.print("2");
} else if (str.charAt(A) == 'A' && str.charAt(B) == 'A' && str.charAt(C) == 'T') {
System.out.print("3");
} else if (str.charAt(A) == 'A' && str.charAt(B) == 'G' && str.charAt(C) == 'A') {
System.out.print("4");
} else if (str.charAt(A) == 'G' && str.charAt(B) == 'C' && str.charAt(C) == 'G') {
System.out.print("5");
} else if (str.charAt(A) == 'G' && str.charAt(B) == 'C' && str.charAt(C) == 'C') {
System.out.print("6");
} else if (str.charAt(A) == 'T' && str.charAt(B) == 'A' && str.charAt(C) == 'T') {
System.out.print("7");
} else if (str.charAt(A) == 'C' && str.charAt(B) == 'G' && str.charAt(C) == 'C') {
System.out.print("8");
} else if (str.charAt(A) == 'G' && str.charAt(B) == 'T' && str.charAt(C) == 'A') {
System.out.print("9");
} else if (str.charAt(A) == 'A' && str.charAt(B) == 'T' && str.charAt(C) == 'A') {
System.out.print(" ");
} else if (str.charAt(A) == 'G' && str.charAt(B) == 'G' && str.charAt(C) == 'G') {
System.out.println("");
} else if (str.charAt(A) == 'A' && str.charAt(B) == 'G' && str.charAt(C) == 'C') {
System.out.print(">");
} else if (str.charAt(A) == 'C' && str.charAt(B) == 'G' && str.charAt(C) == 'G') {
System.out.print("<");
} else if (str.charAt(A) == 'C' && str.charAt(B) == 'C' && str.charAt(C) == 'T') {
System.out.print("+");
} else if (str.charAt(A) == 'A' && str.charAt(B) == 'A' && str.charAt(C) == 'G') {
System.out.print("}");
} else if (str.charAt(A) == 'C' && str.charAt(B) == 'A' && str.charAt(C) == 'C') {
System.out.print("/");
} else if (str.charAt(A) == 'C' && str.charAt(B) == 'C' && str.charAt(C) == 'A') {
System.out.print("=");
} else if (str.charAt(A) == 'C' && str.charAt(B) == 'G' && str.charAt(C) == 'A') {
System.out.print(".");
} else if (str.charAt(A) == 'G' && str.charAt(B) == 'A' && str.charAt(C) == 'G') {
System.out.print("!");
} else if (str.charAt(A) == 'C' && str.charAt(B) == 'A' && str.charAt(C) == 'G') {
System.out.print(":");
} else if (str.charAt(A) == 'G' && str.charAt(B) == 'G' && str.charAt(C) == 'A') {
System.out.print("'");
} else if (str.charAt(A) == 'G' && str.charAt(B) == 'T' && str.charAt(C) == 'G') {
System.out.print(",");
} else if (str.charAt(A) == 'T' && str.charAt(B) == 'C' && str.charAt(C) == 'G') {
System.out.print("@");
} else if (str.charAt(A) == 'C' && str.charAt(B) == 'C' && str.charAt(C) == 'C') {
System.out.print("-");
} else if (str.charAt(A) == 'G' && str.charAt(B) == 'G' && str.charAt(C) == 'G') {
System.out.print("newline");
} else if (str.charAt(A) == 'C' && str.charAt(B) == 'T' && str.charAt(C) == 'C') {
System.out.print("\\");
} else if (str.charAt(A) == 'A' && str.charAt(B) == 'A' && str.charAt(C) == 'A') {
System.out.print("{");
} else if (str.charAt(A) == 'G' && str.charAt(B) == 'A' && str.charAt(C) == 'C') {
System.out.print("(");
} else if (str.charAt(A) == 'A' && str.charAt(B) == 'C' && str.charAt(C) == 'C') {
System.out.print("&");
} else if (str.charAt(A) == 'C' && str.charAt(B) == 'C' && str.charAt(C) == 'G') {
System.out.print(")");
} else if (str.charAt(A) == 'A' && str.charAt(B) == 'T' && str.charAt(C) == 'C') {
System.out.print("$");
} else if (str.charAt(A) == 'A' && str.charAt(B) == 'G' && str.charAt(C) == 'G') {
System.out.print("]");
} else if (str.charAt(A) == 'T' && str.charAt(B) == 'T' && str.charAt(C) == 'C') {
System.out.print("#");
} else if (str.charAt(A) == 'T' && str.charAt(B) == 'G' && str.charAt(C) == 'T') {
System.out.print(";");
} else if (str.charAt(A) == 'A' && str.charAt(B) == 'T' && str.charAt(C) == 'G') {
System.out.print("*");
}
A += 3;
B += 3;
C += 3;
}
System.out.println("");
}
public static String read() {
byte[] buffer = new byte[647];
try {
int numBytes = System.in.read(buffer);
} catch (IOException e) {
System.out.print("Error: " + e);
System.exit(1);
}
String str = new String(buffer);
return (str);
}
public static void write(String str) {
System.out.print(str);
}
}
答案 0 :(得分:1)
目前还不清楚你要做什么,但我会尽力给你一些指示,希望它们能帮助你解决问题。
A
,B
,C
和str
都毫无意义。如果您通过明确的变量和方法名称提供提示,那么人们(包括您自己)将更容易阅读您的代码。Map<String, String>
可以在大约三行中轻松完成此操作。String
提供的功能,特别是String.substring()
- 您可以轻松获取每个三个字母的子字符串,而无需手动提取每个字符。str.charAt()
行为,也可以将它们放在for循环的顶部并将它们分配给变量,这样它们每次迭代只执行一次,然后每个条件只检查变量。 str.charAt()
很快,但很多其他方法都没有,而且没有必要浪费一遍又一遍地调用相同方法的努力。System.in
的字节流。您只需使用Scanner
或必要时使用BufferedReader
。println
案例,您在条件块的中途有一个"GGG"
。这是故意的吗?如果没有,这可能就是你看到意想不到的新线条的原因。否则,您的代码中没有任何内容会产生不合需要的新行,您的终端可能只是在视觉上将单行包装在多行上,这样您就可以看到整个输出。write()
方法;你可能应该删除它。答案 1 :(得分:0)
这将为您提供215个字符,仅在您每次满足任何if
条件时输入字符串中。否则它将无法打印任何东西。如果您仍然认为,您的输入字符串满足条件而您没有按预期获得输出,那么请分享您对此程序的输入。
对您的问题再做一次更正,对于以下条件,您使用的是System.out.println
,而对于其他人则是System.out.print
,如果这个条件得到满足,那么您将获得其他字符在新的一行。
else if (str.charAt(A) == 'G' && str.charAt(B) == 'G'
&& str.charAt(C) == 'G') {
System.out.println("");
}