java编译时报错:找不到符号;

THEZORO 2019-10-10 07:58:46
小白,刚学,在cmd中编译时遇到如下报错:





一直找不到哪里有错,jdk也设置了(= =),求大佬解答
这里是源码:
import java.util.Vector;
class Goods{
String sname;
String samount;
String sunitprice;
public Goods(String name,String amount,String unitprice){
sname=name;
samount=amount;
sunitprice=unitprice;
}
public void Display(){
System.out.println(sname);
}
}

public class Cart{
Vector<Goods> v;
public Cart(){
v=new Vector<Goods>(50);
}

public void Display(){
int size=v.size();
for(int i=0;i<size;i++){
Goods g1=(Goods)v.get(i);
System.out.println(g1.name+g1.samount+g1.sunitprice);
}
}

public void Add(){
Goods goods=new Goods(name,amount,unitprice);
v.add(goods);
}

public void Delete(char sname){
v.remove(sname);
}

public double Totalprice(){
double s=0;
int size=v.size();
for(int i=0;i<size;i++){
Goods g1=(Goods)v.get(i);
s += Double.parseDouble(g1.samount)*Double.parseDouble(g1.sunitprice);
}
return s;
}
}



class Text{
public void main(String[] args) {
Cart cart=new Cart();
System.out.println("Please your choice:");
System.out.println("1.Display my cart");
System.out.println("2.Add");
System.out.println("3.Delete");
System.out.println("4.Checkout");
System.out.println("5.Exit");
char ch=(char)System.in.read();
switch(ch){
case'1':cart.Display();
break;
case'2':System.out.println("please input the information:\n");
cart.Add();
System.out.println("Added\n");
break;
case'3':System.out.println("what do you want to delete?\n");
char sh=(char)System.in.read();
cart.Delete(sh);
System.out.println("Deleted\n");
break;
case'4':double s=cart.Totalprice();
System.out.println("The totalprice is:"+s);
break;
case'5':System.exit(0);
break;
}
}
}
...全文
322 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
天涯若风 2019-10-11
  • 打赏
  • 举报
回复
文本编辑器码代码,大佬啊
THEZORO 2019-10-11
  • 打赏
  • 举报
回复
引用 8 楼 luyaosq的回复:
[quote=引用 7 楼 luyaosq 的回复:] [quote=引用 6 楼 luyaosq的回复:][quote=引用 5 楼 Snaqing的回复:] 似乎改了也不行(= =;)
你写方法的没传参数,Add(),不把参数给方法,里面怎么读得到[/quote] 建议是下个eclipse之类的,而且你的system.in.read读取的回来是ASCII码,转成char也没办法完成你的switch语句[/quote] 哦,想起来太久没写char这个,是我错了。不过刚刚试了你这个报错是真的(cmd真的不好用)[/quote] 哈哈,昨晚改好了,忘说了😄
KeepSayingNo 2019-10-11
  • 打赏
  • 举报
回复
大哥,你还是在IDE里面编译开发吧,eclipse 和 idea 随便用
luyaosq 2019-10-10
  • 打赏
  • 举报
回复
引用 7 楼 luyaosq 的回复:
[quote=引用 6 楼 luyaosq的回复:][quote=引用 5 楼 Snaqing的回复:] 似乎改了也不行(= =;)
你写方法的没传参数,Add(),不把参数给方法,里面怎么读得到[/quote] 建议是下个eclipse之类的,而且你的system.in.read读取的回来是ASCII码,转成char也没办法完成你的switch语句[/quote] 哦,想起来太久没写char这个,是我错了。不过刚刚试了你这个报错是真的(cmd真的不好用)
luyaosq 2019-10-10
  • 打赏
  • 举报
回复
引用 6 楼 luyaosq的回复:
[quote=引用 5 楼 Snaqing的回复:]
似乎改了也不行(= =;)
你写方法的没传参数,Add(),不把参数给方法,里面怎么读得到[/quote] 建议是下个eclipse之类的,而且你的system.in.read读取的回来是ASCII码,转成char也没办法完成你的switch语句
luyaosq 2019-10-10
  • 打赏
  • 举报
回复
引用 5 楼 Snaqing的回复:

似乎改了也不行(= =;)
你写方法的没传参数,Add(),不把参数给方法,里面怎么读得到
THEZORO 2019-10-10
  • 打赏
  • 举报
回复

似乎改了也不行(= =;)
THEZORO 2019-10-10
  • 打赏
  • 举报
回复
引用 1 楼 luyaosq的回复:
你定义的是不是带S,你后面给Goods方法传参的时候用的name,但是你好像没定义过name这几个变量
喔喔,好的,谢啦
THEZORO 2019-10-10
  • 打赏
  • 举报
回复
引用 2 楼 世代农民的回复:
Goods类里面没有name属性,只有sname,改成sname就好了
哦哦,好的,麻烦啦
世代农民 2019-10-10
  • 打赏
  • 举报
回复
Goods类里面没有name属性,只有sname,改成sname就好了
luyaosq 2019-10-10
  • 打赏
  • 举报
回复
你定义的是不是带S,你后面给Goods方法传参的时候用的name,但是你好像没定义过name这几个变量

67,550

社区成员

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

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