java中使用for循环的两个名称组合
我想要的是要求用户输入三(3)个名字,然后显示以下内容: 所有可能的两个名称组合java中使用for循环的两个名称组合,java,Java,我想要的是要求用户输入三(3)个名字,然后显示以下内容: 所有可能的两个名称组合例如,我将输入Mike Tyler Bryle 迈克·泰勒迈克·布莱尔泰勒·迈克泰勒·布莱尔布莱尔·迈克布莱尔·泰勒 这是我的密码 import java.io.*; import java.util.*; public class Javacomprog{ public static void main(String[] args) { //GET THE NAME
例如,我将输入Mike Tyler Bryle
迈克·泰勒
迈克·布莱尔
泰勒·迈克
泰勒·布莱尔
布莱尔·迈克
布莱尔·泰勒 这是我的密码
import java.io.*;
import java.util.*;
public class Javacomprog{
public static void main(String[] args) {
//GET THE NAME FIRST
String name_1, name_2, name_3;
String prints =" ";
//STORING THE 3 NAMES
String[] a_names = new String[3];
//COMBINATION NAME
String[] c_names = new String[3];
Scanner sc = new Scanner(System.in);
//STORE IN ARRAY THE USER INPUT NAMES
System.out.println("Enter three first names:");
for(int i = 0; i < a_names.length; i++){
a_names[i] = sc.nextLine();
}
// STORE THE NAME COMBINATION
for(int j = 0; j < a_names.length; j++){
int a = 0;
//CHECK IF IT IS A REPEATED NAME USING EQUAL IGNORECASE
if(a_names[a].equalsIgnoreCase(a_names[j]) == true){
a++;
}
c_names[j] = a_names[a]+ " " + a_names[j];
}
//PRINT NAME COMBINATION
for(int l = 0; l < c_names.length; l++){
System.out.println(c_names[l] + " ");
}
}
}
import java.io.*;
导入java.util.*;
公共类JavaComplog{
公共静态void main(字符串[]args){
//先知道名字
字符串名称_1、名称_2、名称_3;
字符串打印=”;
//存储3个名称
字符串[]a_name=新字符串[3];
//组合名称
字符串[]c_name=新字符串[3];
扫描仪sc=新的扫描仪(System.in);
//在数组中存储用户输入的名称
System.out.println(“输入三个名字:”);
for(int i=0;i
您能解释一下如何使用for loop组合名称吗?谢谢。解决方案
您可以使用两个for循环,两个for循环在标记处对应,以具有相同的名称
- 我们在内部循环中比较
,它们是相同的名称i==j
- 如果不等于,我们将打印名称
String[]a_name={“Max”,“Moritz”};
for(int i=0;i
您可以根据要查找的组合数量,使用嵌套for循环进行组合。在这种情况下,您需要对,这样两个循环(外部循环和内部循环)就足够了
String[] names = {"Mike", "Tyler", "Bryle"};
List<String> combinations = new ArrayList<>();
for(int i = 0; i < names.length - 1; i++) {
for(int j = i + 1; j < names.length; j++) {
combinations.add(names[i] + " " + names[j]);
combinations.add(names[j] + " " + names[i]);
}
}
for(String name : combinations)
System.out.println(name);
String[]name={“迈克”、“泰勒”、“布莱尔”};
列表组合=新的ArrayList();
对于(int i=0;i
我在比较两个整数而不是字符串!(i==j)
可以被i!=j
。谢谢你的建议。:)或者,您可以打印它们,而不是将它们添加到数组列表中。@roddyoffrozenpeas是的,如果它们只打算显示名称,而不打算显示其他内容。在这种情况下,我将它们储存在一个集合中,主要是出于习惯而非必要。
String[] names = {"Mike", "Tyler", "Bryle"};
List<String> combinations = new ArrayList<>();
for(int i = 0; i < names.length - 1; i++) {
for(int j = i + 1; j < names.length; j++) {
combinations.add(names[i] + " " + names[j]);
combinations.add(names[j] + " " + names[i]);
}
}
for(String name : combinations)
System.out.println(name);