我有两个名为parent和child的数组,如此
Child [] = {1,5,6,7}
和
Parent [] = {2,1,5,8}
当我输入父元素时,它应该给出子元素。以同样的方式它应该给孩子的孩子元素。
例如:
如果我给2作为输入。然后输出将是1,5,6
如果我给1作为输入。然后输出将是5,6
如果我给5作为输入。然后输出将是6
如果我给8作为输入。然后输出将是7
我试着给它一个连续循环。
//final code
package parentchild;
import java.util.Scanner;
public class ParentChild {
static int [] child = {1,5,6,7};
static int [] parent = {2,1,5,8};
public static void main(String[] args)
{
System.out.println("enter:");
Scanner sc = new Scanner(System.in);
int x = sc.nextInt();
int len = parent.length-1;
while(x!= parent[len])
{
for(int i=0;i<=3;i++)
{
if(x==parent[i])
{
System.out.println(child[i]);
}
x = child[i];
}
return;
}
while(x== parent[len])
{
System.out.println(child[len]);
return;
}
}
}
答案 0 :(得分:0)
您的算法似乎有效,但它有点复杂并且有更多迭代,因为您在这里解决了它是一个改进的代码:
public static void main(String[] args) {
System.out.println("enter:");
Scanner sc = new Scanner(System.in);
int x = sc.nextInt();
while (true) {
boolean found = false;
for (int i = 0; i <= 3; i++) {
if (x == parent[i]) {
x = child[i];
System.out.println(child[i]);
//indicate that found a parent
found = true;
break;
}
}
// stop the program, if no parent was found
if (!found) {
return;
}
}
}