昨晚没有搞出来,今天早上又做了,这下搞好了
就是循环有问题,正确代码就是下面的你看看吧
package dd;
import javaxswing;
import javaawt;
import javaawtevent;
import javaxswingevent;
import javautil;
public class MyPhone
extends JFrame implements ActionListener {
JPanel pnlMain = new JPanel();
JPanel pnlSouth = new JPanel();
JPanel pnlNorth = new JPanel();
JPanel pnlCenter = new JPanel();
JButton[] btn = new JButton[10];
JButton btnClear = new JButton("");
JButton btnZero = new JButton("0");
JButton btnBh = new JButton("#");
JTextField jtfDisplay = new JTextField(15);
JTextField jtfStatus = new JTextField(15);
StringBuffer sb = new StringBuffer();
public MyPhone() {
for (int i = 1; i <10; i++) {
btn[i] = new JButton("" + i);
pnlCenteradd(btn[i]);
btn[i]addActionListener(this);
pnlMainsetLayout(new BorderLayout(5, 5));
pnlMainadd("North", pnlNorth);
pnlMainadd("Center", pnlCenter);
pnlMainadd("South", pnlSouth);
pnlNorthsetLayout(new FlowLayout(FlowLayoutCENTER));
pnlSouthsetLayout(new FlowLayout(FlowLayoutCENTER));
pnlCentersetLayout(new GridLayout(4, 4, 5, 5));
pnlNorthadd(jtfDisplay);
pnlSouthadd(jtfStatus);
pnlCenteradd(btnClear);
pnlCenteradd(btnZero);
pnlCenteradd(btnBh);
setContentPane(pnlMain);
}
btnClearaddActionListener(this);
btnZeroaddActionListener(this);
btnBhaddActionListener(this);
}
public void actionPerformed(ActionEvent ae) {
if (aegetActionCommand()equals("")) {
jtfStatussetText("");
jtfStatussetText("");
sbdelete(0, sblength());
}
else if (aegetActionCommand()equals("#")) {
if (sbtoString()equals("110") || sbtoString()equals("119")) {
jtfStatussetText("正在拨号" + sbtoString());
}
else if (sbtoString()charAt(0) == '0') {
jtfStatussetText("错误号码" + sbtoString());
}
else {
jtfStatussetText("正在拨号" + sbtoString());
}
}
else {
setStr(aegetActionCommand());
}
}
public void setStr(String temp) {
sbappend(temp);
jtfDisplaysetText(sbtoString()trim());
}
public static void main(String[] args) {
MyPhone mp = new MyPhone();
mpsetTitle("电话拨号程序");
mpsetSize(200, 200);
mpsetDefaultCloseOperation(MyPhoneEXIT_ON_CLOSE);
mpsetVisible(true);
}
}
import javaio;
abstract class PhoneCard
{
int balance = 3000;
int getbalance()
{
return balance;
}
abstract void Call() throws IOException;
}
abstract class None_Number_PhoneCard extends PhoneCard
{
String type = "无号码电话卡";
String gettype()
{
return type;
}
}
class magCard extends None_Number_PhoneCard
{
String area;
void Call() throws IOException
{
BufferedReader buf = new BufferedReader(new InputStreamReader(Systemin));
String s;
long start, end;
int cost;
while (true)
{
if (60 <= thisgetbalance())
{
Systemoutprint("请输入你要呼叫的号码(挂机请直接按回车键):");
s = bufreadLine();
if (sequals(""))
{
break;
}
Systemoutprint("接通中,请稍后");
for (int i = 0; i <= 6; i++)
{
for (int j = 1; j <= 100000000; j++)
{
if (j % 10000000 == 0)
Systemoutprint('');
}
for (int j = 1; j <= 10; j++)
{
Systemoutprint('\b');
}
Systemoutprint(" ");
for (int j = 1; j <= 10; j++)
{
Systemoutprint('\b');
}
}
for (int i = 1; i <= 14; i++)
{
Systemoutprint('\b');
}
Systemoutprint("电话接通,开始计时(按回车键结束本次通话):");
start = SystemcurrentTimeMillis();
s = bufreadLine();
end = SystemcurrentTimeMillis();
Systemoutprintln("本次通话时间:" + (end - start) / 60000 + "分" + (((end - start) / 1000) % 60) + "秒");
cost = (int)((end - start + 59999) / 60000) 60;
Systemoutprintln("本次通话费用:" + cost / 100 + "" + cost % 100);
thisbalance -= cost;
Systemoutprintln("当前卡内余额:" + thisbalance / 100 + "" + thisbalance % 100);
Systemoutprintln("\n");
}
else
{
Systemoutprintln("当前余额不足,请换卡……");
break;
}
}
}
}
public class test8
{
public static void main(String[] args)
{
magCard a = new magCard();
Systemoutprintln("");
Systemoutprintln("你正使用的是" + atype);
Systemoutprintln("本卡仅限于区号" + aarea + "范围内使用");
Systemoutprintln("当前卡内余额:" + agetbalance() / 100 + "" + agetbalance() % 100);
Systemoutprintln("");
try
{
aCall();
}
catch (IOException e)
{
eprintStackTrace();
}
}
}
public interface Calling {
/
@param callPhoneNo 主叫号码
@param calledPhoneNo 被叫号码
@return 返回接电话成功失败标识
/
public int callIn(String callPhoneNo,String calledPhoneNo);
/
@param calledPhoneNo 被叫号码
@param callPhoneNo 主叫号码
@return返回打电话成功失败标识
/
public int callOut(String calledPhoneNo,String callPhoneNo);
/
@param calledPhoneNo 接收短信号码
@param callPhoneNo发送短信号码
@param content 短信内容
@return 发送短信成功标识
/
public int sendMsg(String calledPhoneNo,String callPhoneNo,String content);
/
@param callPhoneNo 发送短信号码
@param calledPhoneNo 接收短信号码
@param content 短信内容
@return 接收短信成功标识
备注:其实不用这个接口也可以,发送短信是将短信保存至短信发送表,然后有进程实时扫描数据,然后发送
/
public int reciveMsg(String callPhoneNo,String calledPhoneNo,String content);
}
兄弟我建议你先搞清楚现有ivr的架构
1。据我做过的ivr的了解现在大都是web实现,至于你说看不到浏览器窗口可能只是把工具栏隐藏或者直接在外层做了包装,这个很简单
2电话和电脑要连接需要语音卡或者交换机
3要做web,j2ee的知识是少不了的
4我觉得你现在需要了解的是系统构成还有把基础打好急于实现一些你现在实现不了的东西,只会给你打击
package test;
class Telephone{//第一个类:Telephone
public String name;//品牌
public String num;//号码
public int time;//通话时间
public double result(){//计算话费的方法,返回计算结果
return 0;
}
public String toString(){//显示信息方法
return "品牌:"+name+" 号码:"+num+" 通话时间:"+time;
}
}
class Mobilephone extends Telephone{//第二个类:Mobilephone,通过继承将拥有第一个类的属性与方法
public String type;//网络类型
public int bjtime;//被叫时间
public double result(){//计算话费的方法,返回计算结果
return 0;
}
public String toString(){//显示信息方法
return "品牌:"+name+" 号码:"+num+" 通话时间:"+time+" 网络类型:"+type+" 被叫时间:"+bjtime;
}
}
public class Ok {//主类调用以上两个类
public static void main(String[] args) {
Telephone tel=new Telephone();
telresult();
teltoString();//调用Telephone类的计算话费的方法与显示信息的方法
Mobilephone mob=new Mobilephone();
mobresult();
mobtoString();//调用Mobilephone类的计算话费的方法与显示信息的方法
}
}
//已经写好了,希望你满意。。。
一。下载并安装java环境jdk14以后版本大于14都可以。去sun的官网上下载
二。下载并安装sun提供的专门开发手机软件的java微型版,即j2me开发工具,又叫WTK全称(WirelessToolkit)目前版本WTK252去sun的官网下载
如果只用写字板,记事本之类的开发工具的话,现在就可以开发了,运行WTK:->项目-新建项目,就会在C:DocumentsandSettings\j2mewtk52apps下生成你的项目文件夹具体文件夹视你的电脑系统和你的安装而视,你找找就知道了。
然后在你的项目文件夹下找到下面三个文件夹:1src代码放在这里2res和音乐放在这里3bin最后生成的可运行文件jar自动会放在这里
用写字本写代码,在WTK里对写好的代码进行编译和打包即可放入手机运行。
三。由于写字板不方便编写程序,所以一般使用eclipse和netbean开发,eclipse请去eclipseorg官网下载;
四。直接使用eclipse时eclipse并不认识j2me程序代码会报编译错误,这是因为没有导入j2me的类库midp和规范cldc所以需要为eclipse安装j2me插件原插件版本为eclipseME现在好像换了新版本,具体可以去eclipse官网下载
四步完成,现在可以进行开发了。直接运行eclipse,文件-->新建->项目->
如果插件安装成功,则会出现"新建j2me项目"
与普通j2se项目不一样,普通项目需要你编写含有main方法的入口类。在j2me中是需要你继承(实现抽象类)Midlet类,完成它里面的入口方法startAPP()和destoryApp(),pauseApp()
游戏的话一般都是用低级UI开发的,即Canvas类
1。复写paint()方法,在这里画你的图
2。keypressed()等方法得到用户对键盘的按键值。从而改变你的游戏逻辑。
3。自定义线程,不断运行sleep时间一般在100毫秒左右。每次运行都repaint()一次,每次reapint其实就是调用了paint()一次,由于游戏逻辑有可能会因为key事件而改变,所以paint出来的结果就不一样,成而形成动画
最后推荐你,先做一个像贪吃蛇,华容道这样的简单游戏出来
以上就是关于我这个java程序错在哪里全部的内容,包括:我这个java程序错在哪里、求:编写一个java应用程序、定义一个Java手机接口,打电话,接电话,发短信,接受短信的功能等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)