大学java实验题,大侠帮帮忙

aidebear 2009-11-19 07:48:45
假设有20个点,A、B、C、D...然后输入不同颜色的线连接2个点,比如红线连AB、红线连DE、黄线连BD


要求最后可以输入一个点然后可以打出来都有哪些点和这个点相连,或者输入每种颜色线,然后打出哪些点相连用的这种颜色的线。如上述所说: 你输入B,应该打AD,输入红线就打 AB DE。

最后要求点数可以扩展,比如30个 40个。

大侠帮帮忙,写出编程思路就好了。没想明白的就别回啦,我这初来乍到容易乱,谢谢。
...全文
89 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
aidebear 2009-11-20
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 chenyulong1 的回复:]
惨了,忘了写注释了。。。
[/Quote]
谢了,已经很好了
chenyulong1 2009-11-19
  • 打赏
  • 举报
回复
惨了,忘了写注释了。。。
chenyulong1 2009-11-19
  • 打赏
  • 举报
回复
写了个,不是输和而是随机自动生成,输入这些太麻烦了。


package JavaDemo;

import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;

public class PointContact {

/**
* @param args
*/
public static final int WANNA_LINK=30;
public static final int NUMBER_OF_POINT = 20;
public static final int NUMBER_OF_COLOR = 7;
public static String[] point = new String[NUMBER_OF_POINT];
public static String[] color = new String[NUMBER_OF_COLOR];
public static List<String>[] ts = new LinkedList[WANNA_LINK];

public PointContact() {
for (int i = 0; i < NUMBER_OF_POINT; i++)
point[i] = "point" + i;
for (int i = 0; i < NUMBER_OF_COLOR; i++)
color[i] = "color" + i;

}

public void createContact() {
for (int i = 0; i < WANNA_LINK; i++) {
ts[i] = new LinkedList<String>();
int p1 = (int) (NUMBER_OF_POINT * Math.random());
int p2 = (int) (NUMBER_OF_POINT * Math.random());
while (p2 == p1) {
p2 = (int) (NUMBER_OF_POINT * Math.random());
}
while (ts[i].size() < 3) {
ts[i].add(point[p1]);
ts[i].add(color[(int) (NUMBER_OF_COLOR * Math.random())]);
ts[i].add(point[p2]);
}
Iterator<String> it = ts[i].iterator();
while (it.hasNext())
System.out.print(it.next());
System.out.println("");

}

}
public void findLinkByColor(String s,List[] l){
int flag=0;
for(int i=0;i<l.length;i++){
if(s.equals(l[i].get(1))){
flag=1;
System.out.println(s+"连着的点有:"+l[i].get(0)+" "+l[i].get(2));
}
}
if(flag==0)
System.out.println("无此色");
}
public void findLinkByPoint(String s,List[] l){
int flag=0;
int flag1=0;
for(int i=0;i<l.length;i++){
flag=1;
if(s.equals(l[i].get(2))){
for(int j=0;j<l.length;j++){
if(s.equals(l[j].get(0))){
flag1=1;
System.out.println(s+"连接着点"+l[i].get(0)+" "+l[j].get(2));
}

}
if(flag1==0)
System.out.println(s+"没连接任何点");
}
}
if(flag==0)
System.out.println("无此点");
}

public static void main(String[] args) {
// TODO Auto-generated method stub
PointContact pc=new PointContact();
pc.createContact();
pc.findLinkByColor("color0", ts);
pc.findLinkByPoint("point1", ts);
}

}

50,526

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧