黑马程序员技术交流社区

标题: 大神帮我看看 为什么代码是错的 [打印本页]

作者: Yoyoqiu    时间: 2016-4-3 15:03
标题: 大神帮我看看 为什么代码是错的
//数组查表法(根据键盘录入索引,查找对应星期)
import java.util.Scanner;
class Arr_chabiao {
        public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                int a = sc.nextInt();
        char [] arr = {'一','二','三','四','五','六','日'};
                char c = week(char [] arr, a);
                System.out.println("星期"+c);
        }
        public static char week(char [] arr, int b){
                for (int i = 0;i<arr.length ;i++ ) {
                        if (b==i+1) {
                                return arr[i];
                        }
                }
        }
}

如果给我一个数组  让我找其中一个元素 可以找到吗

作者: Yoyoqiu    时间: 2016-4-3 15:04
char c = week(char [] arr, a);
总是我说这一行错了  缺少 .chass
作者: Yoyoqiu    时间: 2016-4-3 16:19
有人在吗  大神大神人呢
作者: IT小笨鸟    时间: 2016-4-3 17:36
亲,用你的代码连构建对象都不行,要好好务实基础
char c = week(char [] arr, a);这一行week中的参数,你在main方法里面已经有定义了,直接写参数名就可以,arr和a,不然Java很分不清你想用哪一个参数数组
week方法也有点小问题,返回值不能放在循环体体内,难道你循环一次就返回一次,返回值要放在循环体外面
还有键盘录入的时候要给别人一点提示,在键盘录入前输出一句“请您输入数据”,比较好
这是我改进的代码
import java.util.Scanner;

public class Arr_chabiao {
        public static void main(String[] args) {
         System.out.println(“请您输入数据”);
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
char [] arr = {'一','二','三','四','五','六','日'};
        char c =week( arr, a);
        System.out.println("星期"+c);
}
public static char week(char [] arr, int b){
        char a = 0;
        for (int i = 0;i<arr.length ;i++ ) {
                if (b==(i+1)) {
                    a=arr[i];
                }
        }
                return a;
}

}


作者: Yoyoqiu    时间: 2016-4-5 18:16
谢谢大神   太感谢了  我才开始学
作者: 木丶子李    时间: 2016-4-5 20:26
定义的数据类型不同吧




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2