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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© MAY1066 中级黑马   /  2015-6-29 21:20  /  1143 人查看  /  15 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*
问题:在第一个输出语句加g.count就会出现错误
提示找不到符号,谢谢大神们解答了:)
               



*/
import java.util.Scanner;
class GameDemo
{
        public static void main(String[]args)
    {       
                Game g=new Game();
                //int a=count;
                //System.out.println(a);

                System.out.println("请输入"+g.count+"所猜的数据");
                g.guess();
               
        }


}
class Game
{       
        public void guess()
        {        Scanner sc=new Scanner(System.in);
               

            int number=(int)(Math.random()*100)+1;
            int count=0;
       
                while(count<8)
                {        int num=sc.nextInt();
                        if (num>number)
                        {        count++;
                                System.out.println("您第 "+count+"次"+"输入的是:"+num+"比所猜的大了");
                        } else if(num<number)
                        {        count++;
                                System.out.println("您第 "+count+"次"+"输入的是:"+num+"比所猜的小了");
                               
                        }else
                               
                 
                        {        count++;
                                System.out.println("您第 "+count+"次"+"输入的是:"+num+"猜中了");
                                break;
                        }
               
       
                }
        }
}


15 个回复

倒序浏览
首先你是猜数字游戏的话就有点繁琐,直接判断是否输入的数字和随机的数字是否相等,如果相等,则结束,如果不等,那么继续循环,在这里count作为计数的话,你并不知道这个计数是多少(也就是你输入多少次它会出现这个数),提前让它小于8,有可能在8次以内找不到呢?再说,在主函数里面你是先没有调用guss函数,它不会认识count是什么东西的(因为没有方法执行),你应该在guss中让count成返回值,然后直接在主函数里面调用guss函数打印count就行了…………试试看!
回复 使用道具 举报
哦天,,  你这代码书写太不规范了,,看了好半天。
  你在主函数中调用了g.count。但是你在game类中,int count 定了成了局部变量,在guess方法下,是局部变量。也就是说,game类根本就没有成员变量 int count。所以找不到符号,而且看你的逻辑,你吧while逻辑判断的条件设成了count<8,是想大于8次就不让猜吗?
回复 使用道具 举报
  1. public class Game {
  2.         public static void main(String[] args) {
  3.                 Scanner scanner = new Scanner(System.in);
  4.                 int game_num = (int) (Math.random() * 100)+1;
  5.                 // System.out.println(game_num);//查看是是否是1-100 随机数
  6.                 System.out.println("请输入一个1-100的数字");
  7.                 int count = 1;
  8.                 boolean GAME_OVER = false;
  9.                 while (!GAME_OVER) {
  10.                         int num = scanner.nextInt();
  11.                         if (num < game_num) {
  12.                                 System.out.println("您输入的数小了");
  13.                                 count++;
  14.                         } else if (num > game_num) {
  15.                                 System.out.println("您输入的数大了");
  16.                                 count++;
  17.                         } else {
  18.                                 System.out.println("恭喜您猜中了!");
  19.                                 System.out.println("您一共用了" + count + "次");
  20.                                 return;
  21.                         }
  22.                 }
  23.                 scanner.close();
  24.         }
复制代码
回复 使用道具 举报
你的类Game里面没有count这个成员变量,你定义在函数里面了
回复 使用道具 举报 1 0
java 标准书写代码。和你要写的例子
回复 使用道具 举报
好复杂,
回复 使用道具 举报
燃烧的灵魂 发表于 2015-6-29 21:53
首先你是猜数字游戏的话就有点繁琐,直接判断是否输入的数字和随机的数字是否相等,如果相等,则结束,如果 ...

谢谢,我试一下
回复 使用道具 举报
含笑 中级黑马 2015-6-29 22:23:48
9#
while (true) {
                        int num = scanner.nextInt();
                        if (num < game_num) {
                                System.out.println("您输入的数小了");
                                count++;
                        } else if (num > game_num) {
                                System.out.println("您输入的数大了");
                                count++;
                        } else {
                                System.out.println("恭喜您猜中了!");
                                System.out.println("您一共用了" + count + "次");
                            break;
                        }

这样改行不
回复 使用道具 举报
感觉好复杂,,:dizzy:
回复 使用道具 举报
含笑 发表于 2015-6-29 22:23
while (true) {
                        int num = scanner.nextInt();
                        if (num ...

恩,谢谢,这样好像也不错啊
回复 使用道具 举报
学习下.....................
回复 使用道具 举报
zlpiano 发表于 2015-6-29 21:58
你的类Game里面没有count这个成员变量,你定义在函数里面了

谢谢终于找到这个错误了
回复 使用道具 举报

谢谢你的帮助,不错,再次感谢
回复 使用道具 举报
燃烧的灵魂 发表于 2015-6-29 21:53
首先你是猜数字游戏的话就有点繁琐,直接判断是否输入的数字和随机的数字是否相等,如果相等,则结束,如果 ...

谢谢,你的帮助很好,我试了一下能够运行
回复 使用道具 举报
你的count在类中是局部变量,不是全局变量
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马