回 帖 发 新 帖 刷新版面

主题:有关变量返回值的问题

import java.io.*;
public class XinLi
{
    public int menu_select()
    {
    try{
     InputStreamReader iin=new InputStreamReader(System.in);
     BufferedReader bin=new BufferedReader(iin);
     int a;
     System.out.println("\t1:巫婆的戒指.\n" );
     System.out.println("t2:退出程度.\n");
     System.out.println("\n\t左边数字为相关的功能选项,请选择数字1-2:");
     a=Integer.parseInt(bin.readLine());
     }
     catch(Exception e1)
       {
          System.out.println("输入的数字有问题,请重新再输一次:\n"+e1.toString());
      
               
        }
     [color=800080]return a[/color];
      } 
       
     public int ring_colour()
       {
       try{
         InputStreamReader iin=new InputStreamReader(System.in);
         BufferedReader bin=new BufferedReader(iin);
         int ring;
         System.out.println("\t1:巫婆的戒指:\n");
         System.out.println("有一位巫婆送你一只宝石戒指,这是一只不同于普通戒指的神奇戒指。\n");
         System.out.println("当巫婆握住你双手的一瞬间,宝石会发出万丈光芒,你认为它会发出什幺颜色的光芒呢?\n");
         System.out.println("\t1.红色\n"); 
         System.out.println("\t2.蓝色\n");
         System.out.println("\t3.黑色\n");
         System.out.println("\t4.绿色\n"); 
         System.out.println("\t5.紫色\n"); 
         System.out.println("\t6.橙色\n");
         System.out.println("\t左边数字为相关的功能选项,请选择1-6:\n");
         ring=Integer.parseInt(bin.readLine());
         switch(ring)
           {
            case 1:
               System.out.println("1.红色 -----红色非常地热情,就像一团燃烧中的火球般,是十足的性情中人,你的爱情火焰也是强人一倍,你善于与人交际,不论是在班、公司或学校的社团活动,你都非常踊跃地参加,谈恋爱时非常积极、大胆,具有革新的精神,但你内心亦有所不满,你为了解除隐藏的不满,很可能会伤了别人,甚至会为了出人头地,而把自己的快乐建筑在别人的痛苦上,你的内心一直强烈地企盼着希望他人“爱我”。\n");
               break;
            case 2:
               System.out.println("2.蓝色----- 待人处事皆非常冷静,绝不会感情用事,你就像毕加索一样,充满艺术家忧郁的气质,但是在面临紧急状况时,你能力持镇定,不慌不忙地处理事务。这样的你,很难与你的伴侣维持火热的感情,你总是静静地分析对方的一切。另外,由于内向的个性,也使你极富责任感,但个性稍嫌保守,所以你的内心很难燃起一股热情。\n");
               break;
           case 3:
               System.out.println("3.黑色-----黑色最能人神秘的气氛,这也就是为什幺巫师喜穿黑色衣服的原因,你对于神秘的、不可知的事最感兴趣,所以你所欣赏的人,也是那种外表虽不起眼,但极富神秘气质的人。不过,一旦你觉得对方的神秘气质消失后,你就会感到失望,维持长久的恋情立刻因你的冷漠而降温,而且你是喜怒形于色的人,所以对方立刻会察觉出你的态度,却不解你为何如此,你缺乏控制自己脾气的修养,而且你也不清楚自己的实际想法如何,不知道该怎幺做,充满了不安与怀疑。\n");
               break;
           case 4:
               System.out.println("4.绿色-----绿色像森林和山岳带给人们稳定安详的心情,绿色一直予人祥和舒服的感受。你就像火焰那般,以你的爱心火焰渐渐地温暖人,你对任何人都很温柔,以宽阔的心情对待他们,你的喜怒哀乐很少形于色,脸部总是维持着一号表情,但喜爱你的人反而会因为如此而对你生信赖感,只是你处理事情太过慎重,小心流于顽固。\n");
               break;
           case 5:
               System.out.println("5.紫色 ----- 紫色是代表着内心不安的颜色,此刻的你就像是“鬼火”一,心情忽明忽灭,难以安定。你是不是有不为人知的烦恼呢?你非常地敏感,有时朋友无心的一句话,你都会为之耿耿于怀好非常地敏感,更不用说你心上人的一举一动了,不过要提醒你的是,你心中的不安大部分是来自自己的想象。你容易把自己关在一个人的小世界中,又加上你拙于表达自己的心意,所以难免会受人误会,另外你也有性的渴求,你是否一直渴望着拥抱他人或被人拥抱呢?\n");
               break;
          case 6:
               System.out.println("6.橙色-----橙色经常开朗、精神焕发的你,非常具有热情、活力,而你还会为周遭朋友感染你快乐的心情。你的四周常常是笑声洋溢!可是,你真的由衷地感觉快乐吗?虽然很多人看到你表面上的热情开朗,其实你内心对不断地付出已感到疲惫。你愈是脸上堆满笑脸,其实心中愈觉寂寞,在你的心底一直渴望着能得到心上人强烈的爱意。\n");
          break;
            }
          }
      catch(Exception e2)
       {
                System.out.println("输入的数字有错误,请重新再输:\n"+e2.toString());
              
          }
      [color=FF00FF]return ring;[/color]
      } 
       
       
       
  void handle_menu( )
     {
       int top;
       for( ; ; )
        {
           switch(menu_select())
            {
                case 1:
                    top=ring_colour();
                     break;
           
                case 2:
                     System.out.println("退出程序。\n");
                     return;
           }
     }
   }
   
public static void main(String args[])
{
    
    handle_meun();
  
}   

}


这里我编译的时候,说是return a,  return ring,还有handle_menu()有问题,我都搞了一上午,实在弄不出来,大家帮我看下有什么不对的地方吗?

回复列表 (共1个回复)

沙发

你的程序中的a、ring都是在try块里面定义的,在外面访问并且返回当然是超出定义域,所以不能找到。把定义提到try块外面就好了。

我来回复

您尚未登录,请登录后再回复。点此登录或注册