B3编程
‘壹’ 编程问题:byte b3=(byte)129;
因为溢出了,byte保存范围是:[-128,+127]
129二进制是:1000 0001
首位1被解释成符号位,就是负数
取补码为-0111 1111
此数是十进制的-127
‘贰’ 编程问题 急!!!!!!
//下面是java做的计算器,可参考下
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class MyCounter extends Frame
{
//声明三个面板的布局
GridLayout gl1,gl2,gl3,g14;
Panel p0,p1,p2,p3,p4;
JTextField tf1;
TextField tf2;
Button b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16,b17,b18,b19,b20,b21,b22,b23,b24,b25,b26, b27,b28,b29,b30,b31,b32;
StringBuffer str; //显示屏所显示的字符串
double x,y; //x和y都是运算数
int z; //Z表示单击了那一个运算符.0表示"+",1表示"-",2表示"*",3表示"/"
static double m; //记忆的数字
public MyCounter()
{
gl1=new GridLayout(1,4,10,0); //实例化4个面板的布局
gl2=new GridLayout(4,1,0,15);
gl3=new GridLayout(4,5,10,15);
g14=new GridLayout(1,6,10,15);
tf1=new JTextField(27); //显示屏
tf1.setHorizontalAlignment(JTextField.RIGHT);
tf1.setEnabled(false);
tf1.setText("0");
tf2=new TextField(10); //显示记忆的索引值
tf2.setEditable(false);
//实例化所有按钮、设置其前景色并注册监听器
b0=new Button("Backspace");
b0.setForeground(Color.red);
b0.addActionListener(new Bt());
b1=new Button("CE");
b1.setForeground(Color.red);
b1.addActionListener(new Bt());
b2=new Button("C");
b2.setForeground(Color.red);
b2.addActionListener(new Bt());
b3=new Button("MC");
b3.setForeground(Color.red);
b3.addActionListener(new Bt());
b4=new Button("MR");
b4.setForeground(Color.red);
b4.addActionListener(new Bt());
b5=new Button("MS");
b5.setForeground(Color.red);
b5.addActionListener(new Bt());
b6=new Button("M+");
b6.setForeground(Color.red);
b6.addActionListener(new Bt());
b7=new Button("7");
b7.setForeground(Color.blue);
b7.addActionListener(new Bt());
b8=new Button("8");
b8.setForeground(Color.blue);
b8.addActionListener(new Bt());
b9=new Button("9");
b9.setForeground(Color.blue);
b9.addActionListener(new Bt());
b10=new Button("/");
b10.setForeground(Color.red);
b10.addActionListener(new Bt());
b11=new Button("sqrt");
b11.setForeground(Color.blue);
b11.addActionListener(new Bt());
b12=new Button("4");
b12.setForeground(Color.blue);
b12.addActionListener(new Bt());
b13=new Button("5");
b13.setForeground(Color.blue);
b13.addActionListener(new Bt());
b14=new Button("6");
b14.setForeground(Color.blue);
b14.addActionListener(new Bt());
b15=new Button("*");
b15.setForeground(Color.red);
b15.addActionListener(new Bt());
b16=new Button("%");
b16.setForeground(Color.blue);
b16.addActionListener(new Bt());
b17=new Button("1");
b17.setForeground(Color.blue);
b17.addActionListener(new Bt());
b18=new Button("2");
b18.setForeground(Color.blue);
b18.addActionListener(new Bt());
b19=new Button("3");
b19.setForeground(Color.blue);
b19.addActionListener(new Bt());
b20=new Button("-");
b20.setForeground(Color.red);
b20.addActionListener(new Bt());
b21=new Button("1/X");
b21.setForeground(Color.blue);
b21.addActionListener(new Bt());
b22=new Button("0");
b22.setForeground(Color.blue);
b22.addActionListener(new Bt());
b23=new Button("+/-");
b23.setForeground(Color.blue);
b23.addActionListener(new Bt());
b24=new Button(".");
b24.setForeground(Color.blue);
b24.addActionListener(new Bt());
b25=new Button("+");
b25.setForeground(Color.red);
b25.addActionListener(new Bt());
b26=new Button("=");
b26.setForeground(Color.red);
b26.addActionListener(new Bt());
b27=new Button("次幂");
b27.setForeground(Color.red);
b27.addActionListener(new Bt());
b28=new Button("log");
b28.setForeground(Color.red);
b28.addActionListener(new Bt());
b29=new Button("sin");
b29.setForeground(Color.red);
b29.addActionListener(new Bt());
b30=new Button("cos");
b30.setForeground(Color.red);
b30.addActionListener(new Bt());
b31=new Button("sec");
b31.setForeground(Color.red);
b31.addActionListener(new Bt());
b32=new Button("csc");
b32.setForeground(Color.red);
b32.addActionListener(new Bt());
//实例化5个面板
p0=new Panel();
p1=new Panel();
p2=new Panel();
p3=new Panel();
p4=new Panel();
//创建一个空字符串缓冲区
str=new StringBuffer();
//添加面板p0中的组件和设置其在框架中的位置和大小
p0.add(tf1); //添加"显示屏"组件
p0.setBounds(10,25,300,40);
//添加面板p1中的组件和设置其在框架中的位置和大小
p1.setLayout(gl1);
p1.add(tf2); //添加显示"记忆索引值"组件
p1.add(b0); //添加backspace组件
p1.add(b1); //添加 CE 组件
p1.add(b2); //添加 C 组件
p1.setBounds(10,65,300,25);
//添加面板p2中的组件并设置其的框架中的位置和大小
p2.setLayout(gl2);
p2.add(b3); //添加 MC 组件
p2.add(b4); //添加 MR 组件
p2.add(b5); //添加 MS 组件
p2.add(b6); //添加 M+ 组件
p2.setBounds(10,110,40,150);
//添加面板p3中的组件并设置其在框架中的位置和大小
p3.setLayout(gl3); //设置p3的布局
p3.add(b7); //添加 7 组件
p3.add(b8); //添加 8 组件
p3.add(b9); //添加 9 组件
p3.add(b10); //添加 / 组件
p3.add(b11); //添加 sqrt 组件
p3.add(b12); //添加 4 组件
p3.add(b13); //添加 5 组件
p3.add(b14); //添加 6 组件
p3.add(b15); //添加 * 组件
p3.add(b16); //添加 % 组件
p3.add(b17); //添加 1 组件
p3.add(b18); //添加 2 组件
p3.add(b19); //添加 3 组件
p3.add(b20); //添加 - 组件
p3.add(b21); //添加 1/x 组件
p3.add(b22); //添加 0 组件
p3.add(b23); //添加 +/-组件
p3.add(b24); //添加 . 组件
p3.add(b25); //添加 + 组件
p3.add(b26); //添加 = 组件
p3.setBounds(60,110,250,150);
//添加面板p4中的组件和设置其在框架中的位置和大小
p4.setLayout(g14);
p4.add(b27); //添加 组件
p4.add(b28); //添加 组件
p4.add(b29); //添加 组件
p4.add(b30); //添加 组件
p4.add(b31); //添加 组件
p4.add(b32); //添加 组件
p4.setBounds(10,150,300,25);
//设置框架中的布局为空布局并添加4个面板
setLayout(null);
add(p0);
add(p1);
add(p2);
add(p3);
add(p4);
setResizable(false);//禁止调整框架的大小
//匿名类关闭窗口
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e1)
{
System.exit(0);
}
});
setBackground(Color.lightGray);
setBounds(100,100,320,280);
setVisible(true);
}
//构造监听器
class Bt implements ActionListener
{
public void actionPerformed(ActionEvent e2)
{
try{
if(e2.getSource()==b1) //选择"CE"清零
{
tf1.setText("0"); //把显示屏清零
str.setLength(0); //清空字符串缓冲区以准备接收新的输入运算数
}
else if(e2.getSource()==b2)//选择"C"清零
{
tf1.setText("0"); //把显示屏清零
str.setLength(0);
}
else if(e2.getSource()==b23)//单击"+/-"选择输入的运算数是正数还是负数
{
x=Double.parseDouble(tf1.getText().trim());
tf1.setText(""+(-x));
}
else if(e2.getSource()==b25)//单击加号按钮获得x的值和z的值并清空y的值
{
x=Double.parseDouble(tf1.getText().trim());
str.setLength(0); //清空缓冲区以便接收新的另一个运算数
y=0d;
z=0;
}
else if(e2.getSource()==b20)//单击减号按钮获得x的值和z的值并清空y的值
{
x=Double.parseDouble(tf1.getText().trim());
str.setLength(0);
y=0d;
z=1;
}
else if(e2.getSource()==b15)//单击乘号按钮获得x的值和z的值并清空y的值
{
x=Double.parseDouble(tf1.getText().trim());
str.setLength(0);
y=0d;
z=2;
}
else if(e2.getSource()==b10)//单击除号按钮获得x的值和z的值并空y的值
{
x=Double.parseDouble(tf1.getText().trim());
str.setLength(0);
y=0d;
z=3;
}
else if(e2.getSource()==b26)//单击等号按钮输出计算结果
{
str.setLength(0);
switch(z)
{
case 0 : tf1.setText(""+(x+y));break;
case 1 : tf1.setText(""+(x-y));break;
case 2 : tf1.setText(""+(x*y));break;
case 3 : tf1.setText(""+(x/y));break;
}
}
else if(e2.getSource()==b24)//单击"."按钮输入小数
{
if(tf1.getText().trim().indexOf('.')!=-1)//判断字符串中是否已经包含了小数点
{
}
else //如果没有小数点
{
if(tf1.getText().trim().equals("0"))//如果初时显示为0
{
str.setLength(0);
tf1.setText((str.append("0"+e2.getActionCommand())).toString());
}
else if(tf1.getText().trim().equals(""))//如果初时显示为空则不做任何操作
{
}
else
{
tf1.setText(str.append(e2.getActionCommand()).toString());
}
}
y=0d;
}
else if(e2.getSource()==b11)//求平方根
{
x=Double.parseDouble(tf1.getText().trim());
tf1.setText("数字格式异常");
if(x<0)
tf1.setText("负数没有平方根");
else
tf1.setText(""+Math.sqrt(x));
str.setLength(0);
y=0d;
}
else if(e2.getSource()==b16)//单击了"%"按钮
{
x=Double.parseDouble(tf1.getText().trim());
tf1.setText(""+(0.01*x));
str.setLength(0);
y=0d;
}
else if(e2.getSource()==b21)//单击了"1/X"按钮
{
x=Double.parseDouble(tf1.getText().trim());
if(x==0)
{
tf1.setText("除数不能为零");
}
else
{
tf1.setText(""+(1/x));
}
str.setLength(0);
y=0d;
}
else if(e2.getSource()==b3)//MC为清除内存
{
m=0d;
tf2.setText("");
str.setLength(0);
}
else if(e2.getSource()==b4)//MR为重新调用存储的数据
{
if(tf2.getText().trim()!="")//有记忆数字
{
tf1.setText(""+m);
}
}
else if(e2.getSource()==b5)//MS为存储显示的数据
{
m=Double.parseDouble(tf1.getText().trim());
tf2.setText("M");
tf1.setText("0");
str.setLength(0);
}
else if(e2.getSource()==b6)//M+为将显示的数字与已经存储的数据相加要查看新的数字单击MR
{
m=m+Double.parseDouble(tf1.getText().trim());
}
else//选择的是其他的按钮
{
if(e2.getSource()==b22)//如果选择的是"0"这个数字键
{
if(tf1.getText().trim().equals("0"))//如果显示屏显示的为零不做操作
{
}
else
{
tf1.setText(str.append(e2.getActionCommand()).toString());
y=Double.parseDouble(tf1.getText().trim());
}
}
else if(e2.getSource()==b0)//选择的是“BackSpace”按钮
{
if(!tf1.getText().trim().equals("0"))//如果显示屏显示的不是零
{
if(str.length()!=1)
{
tf1.setText(str.delete(str.length()-1,str.length()).toString());//可能抛出字符串越界异常
}
else
{
tf1.setText("0");
str.setLength(0);
}
}
y=Double.parseDouble(tf1.getText().trim());
}
else//其他的数字键
{
tf1.setText(str.append(e2.getActionCommand()).toString());
y=Double.parseDouble(tf1.getText().trim());
}
}
}
catch(NumberFormatException e){
tf1.setText("数字格式异常");
}
catch( e){
tf1.setText("字符串索引越界");
}
}
}
public static void main(String args[])
{
new MyCounter();
}
}
‘叁’ 编程问题,急
ort java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class MyCounter extends Frame
{
//声明三个面板的布局
GridLayout gl1,gl2,gl3,g14;
Panel p0,p1,p2,p3,p4;
JTextField tf1;
TextField tf2;
Button b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16,b17,b18,b19,b20,b21,b22,b23,b24,b25,b26, b27,b28,b29,b30,b31,b32;
StringBuffer str; //显示屏所显示的字符串
double x,y; //x和y都是运算数
int z; //Z表示单击了那一个运算符.0表示"+",1表示"-",2表示"*",3表示"/"
static double m; //记忆的数字
public MyCounter()
{
gl1=new GridLayout(1,4,10,0); //实例化4个面板的布局
gl2=new GridLayout(4,1,0,15);
gl3=new GridLayout(4,5,10,15);
g14=new GridLayout(1,6,10,15);
tf1=new JTextField(27); //显示屏
tf1.setHorizontalAlignment(JTextField.RIGHT);
tf1.setEnabled(false);
tf1.setText("0");
tf2=new TextField(10); //显示记忆的索引值
tf2.setEditable(false);
//实例化所有按钮、设置其前景色并注册监听器
b0=new Button("Backspace");
b0.setForeground(Color.red);
b0.addActionListener(new Bt());
b1=new Button("CE");
b1.setForeground(Color.red);
b1.addActionListener(new Bt());
b2=new Button("C");
b2.setForeground(Color.red);
b2.addActionListener(new Bt());
b3=new Button("MC");
b3.setForeground(Color.red);
b3.addActionListener(new Bt());
b4=new Button("MR");
b4.setForeground(Color.red);
b4.addActionListener(new Bt());
b5=new Button("MS");
b5.setForeground(Color.red);
b5.addActionListener(new Bt());
b6=new Button("M+");
b6.setForeground(Color.red);
b6.addActionListener(new Bt());
b7=new Button("7");
b7.setForeground(Color.blue);
b7.addActionListener(new Bt());
b8=new Button("8");
b8.setForeground(Color.blue);
b8.addActionListener(new Bt());
b9=new Button("9");
b9.setForeground(Color.blue);
b9.addActionListener(new Bt());
b10=new Button("/");
b10.setForeground(Color.red);
b10.addActionListener(new Bt());
b11=new Button("sqrt");
b11.setForeground(Color.blue);
b11.addActionListener(new Bt());
b12=new Button("4");
b12.setForeground(Color.blue);
b12.addActionListener(new Bt());
b13=new Button("5");
b13.setForeground(Color.blue);
b13.addActionListener(new Bt());
b14=new Button("6");
b14.setForeground(Color.blue);
b14.addActionListener(new Bt());
b15=new Button("*");
b15.setForeground(Color.red);
b15.addActionListener(new Bt());
b16=new Button("%");
b16.setForeground(Color.blue);
b16.addActionListener(new Bt());
b17=new Button("1");
b17.setForeground(Color.blue);
b17.addActionListener(new Bt());
b18=new Button("2");
b18.setForeground(Color.blue);
b18.addActionListener(new Bt());
b19=new Button("3");
b19.setForeground(Color.blue);
b19.addActionListener(new Bt());
b20=new Button("-");
b20.setForeground(Color.red);
b20.addActionListener(new Bt());
b21=new Button("1/X");
b21.setForeground(Color.blue);
b21.addActionListener(new Bt());
b22=new Button("0");
b22.setForeground(Color.blue);
b22.addActionListener(new Bt());
b23=new Button("+/-");
b23.setForeground(Color.blue);
b23.addActionListener(new Bt());
b24=new Button(".");
b24.setForeground(Color.blue);
b24.addActionListener(new Bt());
b25=new Button("+");
b25.setForeground(Color.red);
b25.addActionListener(new Bt());
b26=new Button("=");
b26.setForeground(Color.red);
b26.addActionListener(new Bt());
b27=new Button("次幂");
b27.setForeground(Color.red);
b27.addActionListener(new Bt());
b28=new Button("log");
b28.setForeground(Color.red);
b28.addActionListener(new Bt());
b29=new Button("sin");
b29.setForeground(Color.red);
b29.addActionListener(new Bt());
b30=new Button("cos");
b30.setForeground(Color.red);
b30.addActionListener(new Bt());
b31=new Button("sec");
b31.setForeground(Color.red);
b31.addActionListener(new Bt());
b32=new Button("csc");
b32.setForeground(Color.red);
b32.addActionListener(new Bt());
//实例化5个面板
p0=new Panel();
p1=new Panel();
p2=new Panel();
p3=new Panel();
p4=new Panel();
//创建一个空字符串缓冲区
str=new StringBuffer();
//添加面板p0中的组件和设置其在框架中的位置和大小
p0.add(tf1); //添加"显示屏"组件
p0.setBounds(10,25,300,40);
//添加面板p1中的组件和设置其在框架中的位置和大小
p1.setLayout(gl1);
p1.add(tf2); //添加显示"记忆索引值"组件
p1.add(b0); //添加backspace组件
p1.add(b1); //添加 CE 组件
p1.add(b2); //添加 C 组件
p1.setBounds(10,65,300,25);
//添加面板p2中的组件并设置其的框架中的位置和大小
p2.setLayout(gl2);
p2.add(b3); //添加 MC 组件
p2.add(b4); //添加 MR 组件
p2.add(b5); //添加 MS 组件
p2.add(b6); //添加 M+ 组件
p2.setBounds(10,110,40,150);
//添加面板p3中的组件并设置其在框架中的位置和大小
p3.setLayout(gl3); //设置p3的布局
p3.add(b7); //添加 7 组件
p3.add(b8); //添加 8 组件
p3.add(b9); //添加 9 组件
p3.add(b10); //添加 / 组件
p3.add(b11); //添加 sqrt 组件
p3.add(b12); //添加 4 组件
p3.add(b13); //添加 5 组件
p3.add(b14); //添加 6 组件
p3.add(b15); //添加 * 组件
p3.add(b16); //添加 % 组件
p3.add(b17); //添加 1 组件
p3.add(b18); //添加 2 组件
p3.add(b19); //添加 3 组件
p3.add(b20); //添加 - 组件
p3.add(b21); //添加 1/x 组件
p3.add(b22); //添加 0 组件
p3.add(b23); //添加 +/-组件
p3.add(b24); //添加 . 组件
p3.add(b25); //添加 + 组件
p3.add(b26); //添加 = 组件
p3.setBounds(60,110,250,150);
//添加面板p4中的组件和设置其在框架中的位置和大小
p4.setLayout(g14);
p4.add(b27); //添加 组件
p4.add(b28); //添加 组件
p4.add(b29); //添加 组件
p4.add(b30); //添加 组件
p4.add(b31); //添加 组件
p4.add(b32); //添加 组件
p4.setBounds(10,150,300,25);
//设置框架中的布局为空布局并添加4个面板
setLayout(null);
add(p0);
add(p1);
add(p2);
add(p3);
add(p4);
setResizable(false);//禁止调整框架的大小
//匿名类关闭窗口
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e1)
{
System.exit(0);
}
});
setBackground(Color.lightGray);
setBounds(100,100,320,280);
setVisible(true);
}
//构造监听器
class Bt implements ActionListener
{
public void actionPerformed(ActionEvent e2)
{
try{
if(e2.getSource()==b1) //选择"CE"清零
{
tf1.setText("0"); //把显示屏清零
str.setLength(0); //清空字符串缓冲区以准备接收新的输入运算数
}
else if(e2.getSource()==b2)//选择"C"清零
{
tf1.setText("0"); //把显示屏清零
str.setLength(0);
}
else if(e2.getSource()==b23)//单击"+/-"选择输入的运算数是正数还是负数
{
x=Double.parseDouble(tf1.getText().trim());
tf1.setText(""+(-x));
}
else if(e2.getSource()==b25)//单击加号按钮获得x的值和z的值并清空y的值
{
x=Double.parseDouble(tf1.getText().trim());
str.setLength(0); //清空缓冲区以便接收新的另一个运算数
y=0d;
z=0;
}
else if(e2.getSource()==b20)//单击减号按钮获得x的值和z的值并清空y的值
{
x=Double.parseDouble(tf1.getText().trim());
str.setLength(0);
y=0d;
z=1;
}
else if(e2.getSource()==b15)//单击乘号按钮获得x的值和z的值并清空y的值
{
x=Double.parseDouble(tf1.getText().trim());
str.setLength(0);
y=0d;
z=2;
}
else if(e2.getSource()==b10)//单击除号按钮获得x的值和z的值并空y的值
{
x=Double.parseDouble(tf1.getText().trim());
str.setLength(0);
y=0d;
z=3;
}
else if(e2.getSource()==b26)//单击等号按钮输出计算结果
{
str.setLength(0);
switch(z)
{
case 0 : tf1.setText(""+(x+y));break;
case 1 : tf1.setText(""+(x-y));break;
case 2 : tf1.setText(""+(x*y));break;
case 3 : tf1.setText(""+(x/y));break;
}
}
else if(e2.getSource()==b24)//单击"."按钮输入小数
{
if(tf1.getText().trim().indexOf('.')!=-1)//判断字符串中是否已经包含了小数点
{
}
else //如果没有小数点
{
if(tf1.getText().trim().equals("0"))//如果初时显示为0
{
str.setLength(0);
tf1.setText((str.append("0"+e2.getActionCommand())).toString());
}
else if(tf1.getText().trim().equals(""))//如果初时显示为空则不做任何操作
{
}
else
{
tf1.setText(str.append(e2.getActionCommand()).toString());
}
}
y=0d;
}
else if(e2.getSource()==b11)//求平方根
{
x=Double.parseDouble(tf1.getText().trim());
tf1.setText("数字格式异常");
if(x<0)
tf1.setText("负数没有平方根");
else
tf1.setText(""+Math.sqrt(x));
str.setLength(0);
y=0d;
}
else if(e2.getSource()==b16)//单击了"%"按钮
{
x=Double.parseDouble(tf1.getText().trim());
tf1.setText(""+(0.01*x));
str.setLength(0);
y=0d;
}
else if(e2.getSource()==b21)//单击了"1/X"按钮
{
x=Double.parseDouble(tf1.getText().trim());
if(x==0)
{
tf1.setText("除数不能为零");
}
else
{
tf1.setText(""+(1/x));
}
str.setLength(0);
y=0d;
}
else if(e2.getSource()==b3)//MC为清除内存
{
m=0d;
tf2.setText("");
str.setLength(0);
}
else if(e2.getSource()==b4)//MR为重新调用存储的数据
{
if(tf2.getText().trim()!="")//有记忆数字
{
tf1.setText(""+m);
}
}
else if(e2.getSource()==b5)//MS为存储显示的数据
{
m=Double.parseDouble(tf1.getText().trim());
tf2.setText("M");
tf1.setText("0");
str.setLength(0);
}
else if(e2.getSource()==b6)//M+为将显示的数字与已经存储的数据相加要查看新的数字单击MR
{
m=m+Double.parseDouble(tf1.getText().trim());
}
else//选择的是其他的按钮
{
if(e2.getSource()==b22)//如果选择的是"0"这个数字键
{
if(tf1.getText().trim().equals("0"))//如果显示屏显示的为零不做操作
{
}
else
{
tf1.setText(str.append(e2.getActionCommand()).toString());
y=Double.parseDouble(tf1.getText().trim());
}
}
else if(e2.getSource()==b0)//选择的是“BackSpace”按钮
{
if(!tf1.getText().trim().equals("0"))//如果显示屏显示的不是零
{
if(str.length()!=1)
{
tf1.setText(str.delete(str.length()-1,str.length()).toString());//可能抛出字符串越界异常
}
else
{
tf1.setText("0");
str.setLength(0);
}
}
y=Double.parseDouble(tf1.getText().trim());
}
else//其他的数字键
{
tf1.setText(str.append(e2.getActionCommand()).toString());
y=Double.parseDouble(tf1.getText().trim());
}
}
}
catch(NumberFormatException e){
tf1.setText("数字格式异常");
}
catch( e){
tf1.setText("字符串索引越界");
}
}
}
public static void main(String args[])
{
new MyCounter();
}
}
‘肆’ 请问在B3输入=IF(A3<>"","有货",msgbox"没货了")这句语法错误在哪,该怎么改,谢谢!
你在“B3"单元格输入的应该是EXClE单元格函数,而msgbox""是VBA函数,只能在VBA环境下使用。你的公式应修改为=IF(A3<>"","有货","没货了")。
想使用弹出窗口,需要VBA编程实现。
‘伍’ 简单计算器图形编程代码是什么
//java版本的,你早晚能用到
package bag;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.SwingUtilities;
import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JTextField;
import java.awt.*;
import java.awt.event.*;
import javax.swing.JButton;
import java.awt.Dimension;
public class SCul extends JFrame {
private static final long serialVersionUID = 1L;
public JTextField jTextField1;
private static String s1,s2,s,s3,s4;
private static double result;
public Component createComponents(){
final JButton b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16,b17,b18,b19,b20;
GridLayout gl1=new GridLayout(4,5);
JPanel panel1=new JPanel();
panel1.setLayout(gl1);
b1=new JButton("1"); b1.setText("1");b1.setForeground(Color.blue);
b2=new JButton("2"); b2.setText("2");b2.setForeground(Color.blue);
b3=new JButton("3"); b3.setText("3");b3.setForeground(Color.blue);
b6=new JButton("4"); b6.setText("4");b6.setForeground(Color.blue);
b7=new JButton("5"); b7.setText("5");b7.setForeground(Color.blue);
b8=new JButton("6"); b8.setText("6");b8.setForeground(Color.blue);
b11=new JButton("7"); b11.setText("7");b11.setForeground(Color.blue);
b12=new JButton("8"); b12.setText("8");b12.setForeground(Color.blue);
b13=new JButton("9"); b13.setText("9");b13.setForeground(Color.blue);
b16=new JButton("0"); b16.setText("0");b16.setForeground(Color.blue);
b4=new JButton("+"); b4.setText("+");b4.setForeground(Color.red);
b5=new JButton("C"); b5.setText("C");b5.setForeground(Color.red);
b9=new JButton("-"); b9.setText("-");b9.setForeground(Color.red);
b10=new JButton("退格"); b10.setText("退格");b10.setForeground(Color.red);
b14=new JButton("*"); b14.setText("*");b14.setForeground(Color.red);
b15=new JButton("1/x"); b15.setText("1/x");b15.setForeground(Color.blue);
b17=new JButton("+/-"); b17.setText("+/-");b17.setForeground(Color.blue);
b18=new JButton("."); b18.setText(".");b4.setForeground(Color.blue);
b19=new JButton("/"); b19.setText("/");b19.setForeground(Color.red);
b20=new JButton("="); b20.setText("=");b20.setForeground(Color.red);
//设置大小和颜色
b1.setSize(100, 100);
b2.setSize(100, 100);
b3.setSize(100, 100);
b4.setSize(100, 100);
b5.setSize(100, 100);
b6.setSize(100, 100);
b7.setSize(100, 100);
b8.setSize(100, 100);
b9.setSize(100, 100);
b10.setSize(100, 100);
b11.setSize(100, 100);
b12.setSize(100, 100);
b13.setSize(100, 100);
b14.setSize(100, 100);
b15.setSize(100, 100);
b16.setSize(100, 100);
b17.setSize(100, 100);
b18.setSize(100, 100);
b19.setSize(100, 100);
b20.setSize(100, 100);
panel1.add(b1);
panel1.add(b2);
panel1.add(b3);
panel1.add(b4);
panel1.add(b5);
panel1.add(b6);
panel1.add(b7);
panel1.add(b8);
panel1.add(b9);
panel1.add(b10);
panel1.add(b11);
panel1.add(b12);
panel1.add(b13);
panel1.add(b14);
panel1.add(b15);
panel1.add(b16);
panel1.add(b17);
panel1.add(b18);
panel1.add(b19);
panel1.add(b20);
panel1.setVisible(true);
b1.addActionListener(new ActionListener(){//按1
public void actionPerformed(ActionEvent e){
jTextField1.setText(jTextField1.getText().concat(b1.getText().toString()));
s=jTextField1.getText().toString();
}
});
b2.addActionListener(new ActionListener(){//按2
public void actionPerformed(ActionEvent e){
jTextField1.setText(jTextField1.getText().concat(b2.getText().toString()));
s=jTextField1.getText().toString();
}
});
b3.addActionListener(new ActionListener(){//按3
public void actionPerformed(ActionEvent e){
jTextField1.setText(jTextField1.getText().concat(b3.getText().toString()));
s=jTextField1.getText().toString();
}
});
b6.addActionListener(new ActionListener(){// 按4
public void actionPerformed(ActionEvent e){
jTextField1.setText(jTextField1.getText().concat(b6.getText().toString()));
s=jTextField1.getText().toString();
}
});
b7.addActionListener(new ActionListener(){//按5
public void actionPerformed(ActionEvent e){
jTextField1.setText(jTextField1.getText().concat(b7.getText().toString()));
s=jTextField1.getText().toString();
}
});
b8.addActionListener(new ActionListener(){//按6
public void actionPerformed(ActionEvent e){
jTextField1.setText(jTextField1.getText().concat(b8.getText().toString()));
s=jTextField1.getText().toString();
}
});
b11.addActionListener(new ActionListener(){//按7
public void actionPerformed(ActionEvent e){
jTextField1.setText(jTextField1.getText().concat(b11.getText().toString()));
s=jTextField1.getText().toString();
}
});
b12.addActionListener(new ActionListener(){//按8
public void actionPerformed(ActionEvent e){
jTextField1.setText(jTextField1.getText().concat(b12.getText().toString()));
s=jTextField1.getText().toString();
}
});
b13.addActionListener(new ActionListener(){//按9
public void actionPerformed(ActionEvent e){
jTextField1.setText(jTextField1.getText().concat(b13.getText().toString()));
s=jTextField1.getText().toString();
}
});
b16.addActionListener(new ActionListener(){//按0
public void actionPerformed(ActionEvent e){
jTextField1.setText(jTextField1.getText().concat(b16.getText().toString()));
s=jTextField1.getText().toString();
}
});
b4.addActionListener(new ActionListener(){//按+
public void actionPerformed(ActionEvent e){
if(s=="")
{
s="0";
jTextField1.setText(s);
}
else{
s1=s;//将第一操作数保存至s1
s3="+";
jTextField1.setText(jTextField1.getText().concat(b4.getText().toString()));
s=jTextField1.getText().toString();
}
}
});
b9.addActionListener(new ActionListener(){//按-
public void actionPerformed(ActionEvent e){
if(s=="")
{
s="0";
jTextField1.setText(s);
}
else{
s1=s;//将第一操作数保存至s1
s3="-";
jTextField1.setText(jTextField1.getText().concat(b9.getText().toString()));
s=jTextField1.getText().toString();
}
}
});
b14.addActionListener(new ActionListener(){//按*
public void actionPerformed(ActionEvent e){
if(s=="")
{
s="0";
jTextField1.setText(s);
}
else{
s1=s;//将第一操作数保存至s1
s3="*";
jTextField1.setText(jTextField1.getText().concat(b14.getText().toString()));
s=jTextField1.getText().toString();
}
}
});
b19.addActionListener(new ActionListener(){//按/
public void actionPerformed(ActionEvent e){
if(s=="")
{
s="0";
jTextField1.setText(s);
}
else{
s1=s;//将第一操作数保存至s1
s3="/";
jTextField1.setText(jTextField1.getText().concat(b19.getText().toString()));
s=jTextField1.getText().toString();
}
}
});
b5.addActionListener(new ActionListener(){//按C清零
public void actionPerformed(ActionEvent e){
s="0";
jTextField1.setText(s);
}
});
b10.addActionListener(new ActionListener(){//按退格
public void actionPerformed(ActionEvent e){
int l=s.length();
if(l!=0)
s=s.substring(0, l-1);//删除一个字符
else
{
s="0";
s4="+";
}
jTextField1.setText(s);//将删除后的字符串显示到单行编辑框中
}
});
b15.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){//求倒数
if(s=="" || s=="0")
{
s="0";
jTextField1.setText("0");
}
else{
result=1/Double.parseDouble(s);
s=String.valueOf(result);
jTextField1.setText(s4+s);
}
}
});
b17.addActionListener(new ActionListener(){//按+/-
public void actionPerformed(ActionEvent e){
if(s=="")
{
jTextField1.setText("0");
}else{
if(s4=="+")
{ s4="-";
jTextField1.setText(s4+s);
}
else{
s4="+";
jTextField1.setText(s4+s);
}
}
}
});
b18.addActionListener(new ActionListener(){//按.
public void actionPerformed(ActionEvent e){
jTextField1.setText(jTextField1.getText().concat(b18.getText().toString()));
s=jTextField1.getText().toString();
}
});
b20.addActionListener(new ActionListener(){//按=求结果
public void actionPerformed(ActionEvent e){//求结果
if(s=="")
{
s="0";
s4="+";
s3="";
jTextField1.setText(s);
}
else if(s!=""){
int m1=s.indexOf(s3);
s1=s.substring(0, m1);
s2=s.substring(m1+1, s.length());
if(s4=="+"){
if(s3=="+")
result=Double.parseDouble(s1)+Double.parseDouble(s2);
if(s3=="-")
result=Double.parseDouble(s1)-Double.parseDouble(s2);
if(s3=="*")
result=Double.parseDouble(s1)*Double.parseDouble(s2);
if(s3=="/" && s2!="0" && s2!="")
result=Double.parseDouble(s1)/Double.parseDouble(s2);
if(s3=="/" && (s2=="0" || s2==""))
result=00.00;
s=String.valueOf(result);
}
else if(s4=="-"){
if(s3=="+"){
result=Double.parseDouble(s2)-Double.parseDouble(s1);
s=String.valueOf(result);
}
if(s3=="-"){
result=Double.parseDouble(s1)+Double.parseDouble(s2);
s="-"+String.valueOf(result);
}
if(s3=="*"){
result=Double.parseDouble(s1)*Double.parseDouble(s2);
s="-"+String.valueOf(result);
}
if(s3=="/" && (s2!="0" || s2!="")){
result=Double.parseDouble(s1)/Double.parseDouble(s2);
s="-"+String.valueOf(result);
}
if(s3=="/" && s2=="0" && s2=="")
{
s="00.00";
}
}
jTextField1.setText(s);
}
}
});
return panel1;
}
public static void main(String[] args) {
SCul cul1=new SCul();
JFrame frame1=new JFrame("计算器");
frame1.setBackground(Color.lightGray);
frame1.add(cul1.jTextField1,BorderLayout.NORTH);
frame1.setResizable(false);
Component contents=cul1.createComponents();
frame1.getContentPane().add(contents, BorderLayout.SOUTH);
frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame1.pack();
frame1.setVisible(true);
}
/**
* This is the default constructor
*/
public SCul() {
super();
jTextField1=new JTextField();
s="";
s1="";
s2="";
s3="";
s4="+";
jTextField1.setText(s);
jTextField1.setHorizontalAlignment(JTextField.RIGHT);
}
}
一个简单的计算器如图所示,使用“计算器”可以完成任意的的标准运算,“计算器”可用于基本的算术运算,比如加减运算等。
‘陆’ 把a4b3展开成aaaabbb的编程
你好 由于不知道你使用的是哪种语言,所以我使用了c语言和c++两种.具体如下:
c语言:
#include<stdio.h>
int main(){
int m,n,i,j;
printf("输入重复a次数m:");
scanf("%d",&m);
printf("输入重复b次数n:");
scanf("%d",&n);
for(i=1;i<=m;i++)
printf("a");
for(j=1;j<=n;j++)
printf("b");
printf("\n");
return 0;
}
c++
#include<iostream>
using namespace std;
int main(){
int m,n,i,j;
cout<<"输入重复a次数m:";
cin>>m;
cout<<"输入重复b次数n:";
cin>>n;
cout<<"\n";
for(i=1;i<=m;i++)
cout<<"a";
for(j=1;j<=n;j++)
cout<<"b";
cout<<"\n\n";
return 0;
}
如果还有疑问,可以继续提问
‘柒’ c++编程自制电子表格 如何定义该单元格为A1 C2 B3等等
你的表格格式不统一,B2单元格是由原来的B2、B3合并而来,B4又没有合并,这样没办法对整列用公式的,建议把表格拆分后再算。
‘捌’ C语言编程题目
#include<stdio.h>
#include<math.h>
voidmain()
{
inti,j,k,temp,b1,b2,b3,b4,a1,a2,a3,a4,a5,a6;
for(i=10;i<22;i++)
{
if((j=pow(i,3))>1000&&j<9999&&(k=pow(i,4))>100000&&k<999999)
{
temp=j;
b1=temp%10;
temp/=10;
b2=temp%10;
temp/=10;
b3=temp%10;
temp/=10;
b4=temp;
temp=k;
a1=temp%10;
temp/=10;
a2=temp%10;
temp/=10;
a3=temp%10;
temp/=10;
a4=temp%10;
temp/=10;
a5=temp%10;
temp/=10;
a6=temp;
//printf("%d%d%d ",i,j,k);
//printf("%d%d%d%d ",b4,b3,b2,b1);
//printf("%d%d%d%d%d%d ",a6,a5,a4,a3,a2,a1);
if(a1!=a2&&a1!=a3&&a1!=a4&&a1!=a5&&a1!=a6&&a1!=b1&&a1!=b2&&a1!=b3&&a1!=b4&&a2!=a3&&a2!=a4&&a2!=a5&&a2!=a6&&
a2!=b1&&a2!=b2&&a2!=b3&&a2!=b4&&a3!=a4&&a3!=a5&&a3!=a6&&a3!=b1&&a3!=b2&&a3!=b3&&a3!=b4&&a4!=a5&&a4!=a6&&a4!=b1&&
a4!=b1&&a4!=b2&&a4!=b3&&a4!=b4&&a5!=a6&&a5!=b1&&a5!=b2&&a5!=b3&&a5!=b4&&a6!=b1&&a6!=b2&&a6!=b3&&a6!=b4&&
b1!=b2&&b1!=b3&&b1!=b4&&b2!=b3&&b2!=b4&&b3!=b4)
printf("age=%d ",i);
}
}
}
题目太变态,限定变量名称 ,用数组省很多键盘输入。
‘玖’ Excel 宏编程录制的宏,怎样实现B3内随便改个数字能,公式继续运行
答:把前2行代码删除,也就是下面2行代码:
Range("B3").Select
ActiveCell.FormulaR1C1 = "1.72"
然后把下面的这行代码:
ActiveSheet.Range("$A$1:$C$963").AutoFilter Field:=1, Criteria1:="=1.72", _
Operator:=xlAnd
中间的Criteria1:="=1.72"更改为:Criteria1:=Sheets("Sheet2").Range("B3")
之后更改B3单元格数字后,运行该宏就可以得出新的筛选结果。
‘拾’ 如果需要让6个数码管分别显示1、2、3、4、5、6,如何用C语言编程
void
display(int
n)
{
char
b3,
b2,
b1;
//定义两个有符号整形数b3,b2和b1
b3=n/100;
b2=(n/10)%10;//这里应该这样才对不然会大于10的
b1=n%10;
//百位
p0=seg7[b3];
//
en3=0;
//显示ds2
ms_delay(10);
//延时
en3=1;
//关闭ds2
//十位
p0=seg7[b2];
//
en2=0;
//显示ds2
ms_delay(10);
//延时
en2=1;
//关闭ds2
//个位
p0=seg7[b1];
//
en1=0;
//显示ds1
ms_delay(10);
//延时
en1=1;
//关闭ds1
}