主题:初学java,请帮我看一下这个程序
刚学java,老师让编一个关于RMI的小程序,代码如下:
文件Arith.java //定义一个远程调用的接口
import java.rmi.*;
public interface Arith extends java.rmi.Remote{
int[] add(int a[],int b[]) throws java.rmi.RemoteException;
}
文件ArithImpl.java//服务器端程序
import java.rmi.*;
import java.rmi.server.UnicastRemoteObject;
public class ArithImpl extends UnicastRemoteObject
implements Arith{
private String objectName;
public ArithImpl(String s) throws RemoteException{
super();
objectName = s;
}
public int[] add(int a[],int b[]){
int c[] = new int [10];
for(int i=0;i<10;i++){
c[i] = a[i]+b[i];
}
return c;
}
public static void main(String argv[]){
RMISecurityManager sm = new RMISecurityManager();
System.setSecurityManager(sm);
try{
ArithImpl obj = new ArithImpl("ArithServer");
Naming.rebind("//zhouli/ArithServer",obj);
System.out.println("ArithServer bound in registry");
}catch(Exception e){
System.out.println("ArithImpl error:"+ e.getMessage());
e.printStackTrace();
}
}
}
文件ArithApp.java//客户端程序
import java.rmi.*;
import java.net.*;
public class ArithApp{
public static void main(String argv[]){
int a[] = {1,2,3,4,5,6,7,8,9,0};
int b[] = {1,2,3,4,5,6,7,8,9,0};
int result[] = new int[10];
try{
Arith obj = (Arith)Naming.lookup("//zhouli/ArithServer");
result = obj.add(a,b);
}catch(Exception e){
System.out.println("ArithApp:"+ e.getMessage());
e.printStackTrace();
}
System.out.print("The sum = ");
for(int i = 0;i<result.length;i++){
System.out.print(result[i] + " ");
}
System.out.println();
}
}
为什么每次编译ArithImpl.java和ArithApp.java的时候都会提示找不到类Arith?
文件Arith.java //定义一个远程调用的接口
import java.rmi.*;
public interface Arith extends java.rmi.Remote{
int[] add(int a[],int b[]) throws java.rmi.RemoteException;
}
文件ArithImpl.java//服务器端程序
import java.rmi.*;
import java.rmi.server.UnicastRemoteObject;
public class ArithImpl extends UnicastRemoteObject
implements Arith{
private String objectName;
public ArithImpl(String s) throws RemoteException{
super();
objectName = s;
}
public int[] add(int a[],int b[]){
int c[] = new int [10];
for(int i=0;i<10;i++){
c[i] = a[i]+b[i];
}
return c;
}
public static void main(String argv[]){
RMISecurityManager sm = new RMISecurityManager();
System.setSecurityManager(sm);
try{
ArithImpl obj = new ArithImpl("ArithServer");
Naming.rebind("//zhouli/ArithServer",obj);
System.out.println("ArithServer bound in registry");
}catch(Exception e){
System.out.println("ArithImpl error:"+ e.getMessage());
e.printStackTrace();
}
}
}
文件ArithApp.java//客户端程序
import java.rmi.*;
import java.net.*;
public class ArithApp{
public static void main(String argv[]){
int a[] = {1,2,3,4,5,6,7,8,9,0};
int b[] = {1,2,3,4,5,6,7,8,9,0};
int result[] = new int[10];
try{
Arith obj = (Arith)Naming.lookup("//zhouli/ArithServer");
result = obj.add(a,b);
}catch(Exception e){
System.out.println("ArithApp:"+ e.getMessage());
e.printStackTrace();
}
System.out.print("The sum = ");
for(int i = 0;i<result.length;i++){
System.out.print(result[i] + " ");
}
System.out.println();
}
}
为什么每次编译ArithImpl.java和ArithApp.java的时候都会提示找不到类Arith?