![](/img/trans.png)
[英]Java: How to output two words in the same string onto separate lines?
[英]Java output lines with each lines containing two string
我想输出 N 行,每行包含 Mary 或 Jobert。 我只知道如何循环但我不知道它会如何根据 N 号停止
import java.util.Scanner;
class HelloWorld {
public static void main(String[] args) {
int n= 5;
for (int i = 1; i <= 5; i++) {
for (int j = 1; j < i; j++) {
System.out.println("Mary ");
}
for (int k = 1; k < i; k++) {
System.out.println("Jobert");
}
}
}
}
输出是
Mary
Jobert
Mary
Mary
Jobert
Jobert
Mary
Mary
Mary
Jobert
Jobert
Jobert
Mary
Mary
Mary
Mary
Jobert
Jobert
Jobert
Jobert
但我想要的是它会停在 5 个单词处,因为 n 是 5
Mary
Jobert
Mary
Mary
Jobert
你可以试试这个。 它会解决你的问题。
import java.util.Scanner;
class HelloWorld {
public static void main(String[] args) {
int n= 5;
for (int i = 1; i <= 5; i=i+2) {
for (int j = 1; j < i; j=j+2) {
System.out.println("Mary ");
}
for (int k = 1; k < i; k=k+4) {
System.out.println("Jobert");
}
}
}
}
Try below code :
class Test {
public static void main(String[] args) {
int n = 7;
int counter = 0;
for (int i = 1; i <= n; i++) {
for (int j = 1; j < i; j++) {
if(j > 1) {
counter++;
System.out.println("Mary ");
}
if(counter == n) {
break;
}
}
for (int k = 1; k < i; k++) {
if(k > 1) {
counter++;
System.out.println("Mary ");
}
if(counter == n) {
break;
}
}
}
}
}
可以仅使用 2 个循环以这种方式完成
int n=5;
int counter = 0;
for(int i = 1;i<=5;i++){
int twice = i*2;
for(int j = 1 ; j<=twice;j++){
if(counter == n)
return;
if(j<=twice/2) {
System.out.println("Mary");
counter++;
}
else{
System.out.println("Jobert");
counter++;
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.