在我的程序中,当我在下面的一段代码中调用updateNextPortNum方法时,为什么这里有一个错误,说:“此行多个标记 - 路由器无法解析 - newRouterIp无法解析为变量”接口错误
else if (operType.equals("3")){
System.out.println("Inpur router number: ");
String routerNum = br.readLine();
error ==> rm.updateNextPortNum(routerNum, newRouterIp, newPortNum);
}
类RouterManage被调用的函数:
class RouterManage {
private ArrayList al = null;
public RouterManage() {
al = new ArrayList();
}
// add Router
public void addRouter(Router router) {
al.add(router);
}
// show information of Router
public void showInfo(String routerNum) {
for (int i = 0; i < al.size(); i++) {
// take Router object out
Router router = (Router) al.get(i);
if (router.getRouterNum().equals(routerNum)) {
System.out.println("Find this router, info of its: ");
System.out.println("Router num: " + routerNum);
System.out.println("Router IP: " + router.getRouterIp());
System.out.println("Next Router PortNum: " + router.getNextPortNum());
}
}
}
// show information of Router
public void showAllInfo(String routerNum, String routerIp, int nextPortNum) {
for (int i = 0; i < al.size(); i++) {
Router router = (Router) al.get(i);
System.out.println("All router information: ");
System.out.println("Router num: " + routerNum);
System.out.println("Router IP: " + router.getRouterIp());
System.out.println("Next Router PortNum: " + router.getNextPortNum());
}
}
// change next port num
public void updateNextPortNum(String routerNum, String newRouterIp, int newPortNum) {
for (int i = 0; i < al.size(); i++) {
Router router = (Router) al.get(i);
if (router.getRouterNum().equals(routerNum)) {
// change router's ip
router.setRouterIp(newRouterIp);
// change router port number
router.setNextPortNum(newPortNum);
}
}
}
}
我只是尝试写一个简单的接口来实现的选择功能。
谢谢,伙计们。
因为'router'和'newRouterIp'不在范围内那里。这些变量在哪里/如何申报? – azurefrog 2014-12-11 05:13:07
也许你的路由器和newRouterIp不存在。尝试首先声明它。 '你的范围内的字符串路由器;&'字符串newRouterIp;'。或将您的代码发布到您声明的位置。 – Secondo 2014-12-11 05:19:07
@azurefrog我注意到,更新上面的程序,问题仍然没有解决。 – 2014-12-11 05:20:26