Java System.out.print()没有显示我期望的所有内容,并且意外地打印了新行
Java System.out.print()没有显示我期望的所有内容,并且意外地打印了新行,java,system.out,Java,System.out,System.out.print()没有在输出框中显示所有内容,当我输入许多字符时,它会自动生成一行新行。我正在输入645个字符,当我按enter键时,它应该给我相应的215个字符。我是否应该使用除System.out.print()以外的其他工具进行此操作 import java.io.*; public class Animal { public static void main(String[] args) { int A = 0; int B = 1; in
System.out.print()
没有在输出框中显示所有内容,当我输入许多字符时,它会自动生成一行新行。我正在输入645个字符,当我按enter键时,它应该给我相应的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);
}
}
import java.io.*;
公营动物{
公共静态void main(字符串[]args){
int A=0;
int B=1;
int C=2;
系统输出打印(“密码子=”);
字符串str=read();
对于(int num=0;num,不清楚您试图做什么,但我会尝试给您一些建议,希望它们能帮助您解决问题
- 正确设置代码格式。否则无法读取
- 使用有意义的变量名。
A
、B
、C
和str
都是无意义的。如果您通过清晰的变量名和方法名提供提示,人们(包括您自己)将更容易阅读您的代码
- 当你发现自己一遍又一遍地写着相同的代码行时(就像你大量的条件列表),这是一个很好的提示,你应该重新构造你的代码。看起来你正试图将三个字符的组映射为单个字符,一个
map
可以用大约三行代码轻松地完成这项工作
- 在这种情况下,请仔细查看提供的功能,尤其是-您可以轻松获得每个三个字母的子字符串,而无需手动提取每个字符
- 避免重复的函数调用;即使保持
str.charAt()
行为,也可以将它们放在for循环的顶部,并将它们分配给变量,这样每次迭代只执行一次,然后每个条件只检查变量。str.charAt()
速度很快,但许多其他方法都不快,因此无需重复调用同一方法
- 无需直接从
系统中读取的字节流。您只需使用或(如果需要)
- 在条件块的中间有一个
println
,用于第一个“GGG”
case。这是故意的吗?如果不是,这可能是您看到意外新行的原因。否则,您的代码中没有任何内容会生成不需要的新行,您的终端可能只是将单行可视化地包装到多行中,以便您可以看到整个输出
- 您从未使用
write()
方法;您可能应该删除该方法
这将为您提供215个字符,仅当每次输入字符串中的任何条件满足时才提供。否则,它将无法打印任何内容。如果您仍然认为您的输入字符串满足条件,并且您没有获得预期的输出,请共享此程序的输入
对您的问题再做一次更正,对于以下条件,您使用的是System.out.println
,而对于其他条件,您使用的是System.out.print
,如果满足此条件,则您将在新行中获得其他字符
else if (str.charAt(A) == 'G' && str.charAt(B) == 'G'
&& str.charAt(C) == 'G') {
System.out.println("");
}
我不明白你想要什么?我正在输入645个字符,当我按enter键时,它应该给我相应的215个字符
这是什么意思?我如何显示代码我是一个noob,它是2长9402个字符。粘贴与问题相关的代码部分。如果行缩进至少有4个空格它将格式化为代码块。当代码较多且仅显示一小部分时,就会出现问题。上述代码的输入、预期输出和当前输出