JAVA简单问题,查找法
来源:百度知道 编辑:UC知道 时间:2024/06/06 02:07:25
//排列职工工号,以及查找职工姓名
class wp{
void arrange(int[] i,int n){//按照职工工号大小排序
int a;
for(int j=0;j<n-1;j++)
for(int k=j+1;k<n;k++){
if(i[j]>i[k]){
a=i[j];i[j]=i[k];i[k]=a;
}
}
System.out.println("排序完成!");
}
void findName(int i){//输入工号,查找姓名
System.out.println("您所查找的职工姓名为:"+name[i-1]);
}
public static void main(String[] args){
System.out.println("请您输入职工人数");
int n=Input.readInt();
int[] Number=new int[n];
String[] name=new String[n];
System.out.println("请依次输入职工的工号和姓名:");
for(int j=0;j<n;j++){
Number[j]=Input.readInt();
name[j]=Input.readString();
}
wp w=new wp();
System.out.println("请等待,排序中...");
w.arrange
你的name在main中声明,但findName中没有呀
要不就给findName加一个参数(String []n),把name传过去
又或者:
class wp{
void arrange(int[] i,int n){//按照职工工号大小排序
int a;
for(int j=0;j<n-1;j++)
for(int k=j+1;k<n;k++){
if(i[j]>i[k]){
a=i[j];i[j]=i[k];i[k]=a;
}
}
System.out.println("排序完成!");
}
void findName(int i){//输入工号,查找姓名
System.out.println("您所查找的职工姓名为:"+name[i-1]);
}
public static void main(String[] args){
System.out.println("请您输入职工人数");
int n=Input.readInt();
int[] Number=new int[n];
name=new String[n];
System.out.println("请依次输入职工的工号和姓名:");
for(int j=0;j<n;j++){
Number[j]=Input.readInt();
name[j]=Input.readString();
}
wp w=new wp();
System.out.println("请等待,排序中...");
w.arrange(Number,n);
System.out.println("请输入要查找的职工的工号:&qu