jCreator编译时提示需要".class" java编程问题

importjavax.swing.*;publicclassMoney2{intb,c;staticvoidWays1(inta){b=a/100;System.out... import javax.swing.*;
public class Money2{
int b,c;
static void Ways1(int a)
{
b=a/100;
System.out.print("应找100的"+b+"张 ");
c=a%100;a=c; }
static void Ways2(int a)
{
b=a/50;
System.out.print("应找50的"+b+"张 ");
c=a%100;a=c;
}
static void Ways3(int a)
{
b=a/20;
System.out.print("应找20的"+b+"张 ");
c=a%100;a=c;
}

static void Ways4(int a)
{
b=a/10;
System.out.print("应找10的"+b+"张 ");
c=a%100;a=c;
}
static void Ways5(int a)
{
b=a/5;
System.out.print("应找5的"+b+"张 ");
c=a%100;a=c;
}
static void Ways6(int a)
{
b=a/2;
System.out.print("应找2的"+b+"张 ");
c=a%100;a=c;
}
static void Ways7(int a)
{
b=a/1;
System.out.print("应找1的"+b+"张 ");
c=a%100;a=c;
}
class aaa{
public static void main(String []args){
String qianstr;int qian;
qianstr=JOptionPane.showInputDialog("输入钱数");
qian=Integer.parseInt(qianstr);
Money2 Aa=new Money2();
do{
if(qian>=100)
Aa.Ways1(int qian);
if(qian<100&&50<=qian)
Aa.Ways2(int qian);
if(20<=qian&&qian<50)
Aa.Ways3(int qian);
if(10<=qian&&qian<20)
Aa.Ways4(int qian);
if(5<=qian&&qian<10)
Aa2.Ways5(int qian);
if(2<=qian&&qian<5)
Aa.Ways6(int qian);
if(qian<2)
Aa.Ways7(int qian);
}while(qian!=1);
}
}
}
我是新手,编一个人民币的软件。。比如:输入1278。显示:12张100的,1张50的,1张20的,1张5元的,1张两元的,1张1元的.。。。。帮忙看下我编的吧。。用jCreator编译时提示需要".class"
问题补充:追加100分以上。。看回答的好与否。。。请回答者试一下,在给答案……上面3位的回答不对啊。。5555
展开
 我来答
udiab_0
2010-11-12 · TA获得超过170个赞
知道小有建树答主
回答量:96
采纳率:0%
帮助的人:124万
展开全部
首先 class Money2 不应该是public
应该把public加到class aaa之前
文件名也改为 aaa.java
这是找不到。class的原因
或者你把主函数放到第一个类里面。
另外还有一些语法错误
就不一一列举了
修改了一些语法的错误 你对照一下看看
:
import javax.swing.*;
class Money2{
static int b,c;
public void Money2(){}
static void Ways1( int a)
{
b=a/100;
System.out.print("应找100的"+b+"张 ");
c=a%100;a=c; }
static int Ways2( int a)
{
b=a/50;
System.out.print("应找50的"+b+"张 ");
c=a%100;a=c;
return a;
}
static void Ways3( int a)
{
b=a/20;
System.out.print("应找20的"+b+"张 ");
c=a%100;a=c;
}

static void Ways4( int a)
{
b=a/10;
System.out.print("应找10的"+b+"张 ");
c=a%100;a=c;
}
static void Ways5( int a)
{
b=a/5;
System.out.print("应找5的"+b+"张 ");
c=a%100;a=c;
}
static void Ways6( int a)
{
b=a/2;
System.out.print("应找2的"+b+"张 ");
c=a%100;a=c;
}
static void Ways7( int a)
{
b=a/1;
System.out.print("应找1的"+b+"张 ");
c=a%100;a=c;
} }
public class aaa{
static int qian;
public static void main(String []args){
String qianstr;

qianstr=JOptionPane.showInputDialog("输入钱数");
qian=Integer.parseInt(qianstr);
Money2 Aa=new Money2();
do{
if(qian>=100)
Aa.Ways1( qian);
if(qian<100&&50<=qian)
Aa.Ways2( qian);
if(20<=qian&&qian<50)
Aa.Ways3( qian);
if(10<=qian&&qian<20)
Aa.Ways4( qian);
if(5<=qian&&qian<10)
Aa.Ways5( qian);
if(2<=qian&&qian<5)
Aa.Ways6( qian);
if(qian<2)
Aa.Ways7( qian);
}while(qian>=1);
}
}

至于为什么死循环 你自己再好好考虑考虑

希望对你有帮助
祝你成功
潇洒默许
2010-11-12 · TA获得超过256个赞
知道答主
回答量:60
采纳率:100%
帮助的人:64.6万
展开全部
简单看了一下你的代码,发现你基础还不够扎实,首先你的main方法没有放到public类下面。class aaa这个类是多余的吧。int b,c;这个变量b,c要改为静态变量(也称类的成员变量),而静态方法只能访问静态变量,不能访问实例成员变量,所以应该写成static int b,c;。同样,Aa.Ways3(int qian);此处Ways3这个方法是静态方法(也称类成员方法)可以直接使用类名调用,不需要实例化一个对象,即可直接用Money2.Ways3();不过这样使用也没有错,常规下是不会这样使用,只有该方法不是静态方法时才这样使用。
同时注意几个习惯问题,方法名一般不使用大写头,而类名一般使用大写开头,要养成好的习惯。
建议:你先把代码块的算法在控制台下能运行出来,然后最加一完善。这是我刚写的一个方法,实现过程可能比你的简单一点。
public class Money2{
static int b,c;//静态就是(类成员方法)
static void Ways1(int a)//静态方法
{

System.out.println("100元钞票:"+a/100);
int b=a%100;
System.out.println("50元钞票:"+b/50);
int c=b%50;
System.out.println("20元钞票:"+c/20);
int d=c%20;
System.out.println("5元钞票:"+d/5);
int e=d%5;
System.out.println("2元钞票:"+e/2);
int f=e%2;//到一块的时候
System.out.println("1元钞票:"+f/1);
}
public static void main(String[] args) {
Money2.Ways1(1333);
}
}
不知道算法还有没有错!希望能帮到你!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式