A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© huizhong 中级黑马   /  2016-6-30 18:48  /  467 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*键盘录入x的值,计算出y的并输出。
               
                * x>=3        y = 2 * x + 1;
                * -1<x<3        y = 2 * x;
                * x<=-1        y = 2 * x - 1;*/
import java.util.Scanner;       
class BiJi002 {
        public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入一个整数: ");
                int x = sc.nextInt();
                int y;
                if (x >= 3) {
                        y = 2 * x + 1;
                }else if (x > -1 && x < 3) {
                        y = 2 * x;
                }else {
                        y = 2 * x - 1;
                }
                       
                System.out.print("y的值为:"+y);
以上为正确不报错的

import java.util.Scanner;       
class BiJi002 {
        public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入一个整数: ");
                int x = sc.nextInt();
                int y;
                if (x >= 3) {
                        y = 2 * x + 1;
                }else if (x > -1 && x < 3) {
                        y = 2 * x;
                }else if (x <= -1) {
                        y = 2 * x - 1;
                }
                       
                System.out.print("y的值为:"+y);
                这个就会报错显示Y的值要初始化
               是不是因为最后一个If如果不成立就没有给Y赋值


2 个回复

倒序浏览
使用变量的注意事项中:局部变量在使用之前要赋值,就是初始化值。y在if中参与运算了,需要先初始化值,定义成int y = 0;
回复 使用道具 举报
春村 发表于 2016-6-30 19:43
使用变量的注意事项中:局部变量在使用之前要赋值,就是初始化值。y在if中参与运算了,需要先初始化值,定义 ...

真是听君一席话胜读十年书呀,感谢兄弟!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马