java 找不到符号

yrq110 2013-09-21 01:22:22
java初学者,CT类里的gai()和mian()前提示错误找不到符号,自己改了半天不行,求大神指导
import java.util.*;

public class CT{
public static void main(String[] args)throws Exception
{
Scanner scan=new Scanner(System.in);
boolean b=true;
while(b){
System.out.println("*****欢迎进入食堂点餐系统*****");
System.out.println(" 1.盖饭类");
System.out.println(" 2.小碗菜");
System.out.println(" 3.面食类");
System.out.println(" 4.其他");
System.out.println(" 5.退出");
System.out.print("请选择:");
int a=scan.nextInt();
switch(a)
{
case 1:
gai();
break;
case 2:

break;
case 3:
mian();
break;
case 4:

break;
case 5:
b=false;
break;
}
}
Thread.sleep(5000);
System.out.println("谢谢使用!");
}
}


class gai{
public void gai(){
Scanner scan1=new Scanner(System.in);
boolean c=true;
while(c){
System.out.println(" 1.宫保鸡丁盖饭");
System.out.println(" 2.地三鲜盖饭");
System.out.println(" 3.土豆牛肉盖饭");
System.out.println(" 4.鱼香烘蛋盖饭");
System.out.println(" 5.葱爆羊肉盖饭");
System.out.println(" 6.重新选择");
System.out.print("请选择:");
int d=scan1.nextInt();
switch(d)
{
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println("请稍等...");
break;
case 6:
c=false;
break;
}
}
}
}

class mian{
public void mian(){
Scanner scan2=new Scanner(System.in);
boolean e=true;
while(e){
System.out.println(" 1.红烧牛肉面");
System.out.println(" 2.茄子鸡丁面");
System.out.println(" 3.羊肉面");
System.out.println(" 4.清汤面");
System.out.println(" 5.西红柿鸡蛋面");
System.out.println(" 6.重新选择");
System.out.print("请选择:");
int f=scan2.nextInt();
switch(f)
{
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println("请稍等...");
break;
case 6:
e=false;
break;
}
}
}
}







...全文
1963 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
踩踩一哥 2013-09-25
  • 打赏
  • 举报
回复
其实楼主一看就是学C语言转过来的,方法的调用完全跟C语言一样。java是面向对象的,对象包括属性跟行为,你直接调用了行为,但是又没有说是哪个对象的。 case 1: gai(); //这里不能这么调用 break; case 2: break; case 3: mian(); //这里也不能这么调用 break; case 4: 你要调用函数之前先要对其对象进行实例化,然后才能调用。 CT ct=new CT(); ct.gai(); ct.main();
李小跟 2013-09-24
  • 打赏
  • 举报
回复
主要问题是你没弄明白如何调用方法的问题: 1.如果你写的方法是静态的,可以像你那样调用。也就是楼上告诉你的。 2.如果不是静态的,你应该用new方法创建次对象。new gai().gai()这样就对了。
oh_Maxy 2013-09-21
  • 打赏
  • 举报
回复
没检查括号是否匹配,大概调整了下方法的位置:

import java.util.*;

public class CT{
public static void main(String[] args)throws Exception
{
Scanner scan=new Scanner(System.in);
boolean b=true;
while(b){
System.out.println("*****欢迎进入食堂点餐系统*****");
System.out.println("     1.盖饭类");
System.out.println("     2.小碗菜");
System.out.println("     3.面食类");
System.out.println("     4.其他");
System.out.println("     5.退出");
System.out.print("请选择:");
int a=scan.nextInt();
switch(a)
{
case 1: 
gai();
break;
case 2: 

break;
case 3: 
mian();
break;
case 4: 

break;
case 5: 
b=false;
break;
}
}
Thread.sleep(5000);
System.out.println("谢谢使用!");
}

//方法移动到这里,并增加static
public static void gai(){
Scanner scan1=new Scanner(System.in);
boolean c=true;
while(c){
System.out.println("     1.宫保鸡丁盖饭");
System.out.println("     2.地三鲜盖饭");
System.out.println("     3.土豆牛肉盖饭");
System.out.println("     4.鱼香烘蛋盖饭");
System.out.println("     5.葱爆羊肉盖饭");
System.out.println("     6.重新选择");
System.out.print("请选择:");
int d=scan1.nextInt();
switch(d)
{
case 1: 
case 2: 	
case 3: 	
case 4: 	
case 5: 
System.out.println("请稍等...");
break;
case 6:	
c=false;
break;
}
}
  }

//方法移动到这里,并增加static
public static void mian(){
Scanner scan2=new Scanner(System.in);
boolean e=true;
while(e){
System.out.println("     1.红烧牛肉面");
System.out.println("     2.茄子鸡丁面");
System.out.println("     3.羊肉面");
System.out.println("     4.清汤面");
System.out.println("     5.西红柿鸡蛋面");
System.out.println("     6.重新选择");
System.out.print("请选择:");
int f=scan2.nextInt();
switch(f)
{
case 1: 
case 2: 	
case 3: 	
case 4: 	
case 5: 
System.out.println("请稍等...");
break;
case 6:	
e=false;
break;
}
}
}
}
尘缘udbwcso 2013-09-21
  • 打赏
  • 举报
回复
楼主还是认真看书吧,看书上怎么写的

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧