这是有一个很典型的关于java 面向对象 继承的使用 ,很简单 先创建一个如animal类,并有个makeVoice()方法,然后instance 这个类 ,如 bird rabit dog cat ect下面就是继承后分别实现makeVoice() 方法!
没太明白你的这句话,“当A矩阵中有某个或多个的元素等于前一个A中的某个或多个元素值时”
前一个A是什么意思,一开始只有一个A,然后遍历一遍A中元素之后A中225的元素都变成0了,前一个A是什么意思?
daizy 19:35:31
package comtest;
public class Student {
private int pid;
private String pname;
private int page;
private char psex;
public Student(int id, String name, int age, char sex){
thispid = id;
thispname = name;
thispage = age;
thispsex = sex;
}
public int getPid() {
return pid;
}
public void setPid(int pid) {
thispid = pid;
}
public String getPname() {
return pname;
}
public void setPname(String pname) {
thispname = pname;
}
public int getPage() {
return page;
}
public void setPage(int page) {
thispage = page;
}
public char getPsex() {
return psex;
}
public void setPsex(char psex) {
thispsex = psex;
}
public String toString(){
return "编号: " + thispid + "姓名: " + thispname + "年龄: " + thispage + "性别: " + thispsex;
}
}
package comtest;
import javautilLinkedList;
import javautilList;
public class InputOperator {
public static List<Student> allStu = new LinkedList<Student>();
public static void stuInput(List<Student> stuList){
allStuaddAll(stuList);
}
}
package comtest;
public class OutputOperator {
public static void stuOutput(){
for(Student stu : InputOperatorallStu){
Systemoutprintln(stu);
}
}
}
package comtest;
import javautilLinkedList;
import javautilList;
public class Test {
/
@param args
/
public static void main(String[] args) {
// TODO Auto-generated method stub
Student stu1 = new Student(1, "张三", 28, 'm');
Student stu2 = new Student(2, "李**", 20, 'f');
List<Student> stuL = new LinkedList<Student>();
stuLadd(stu1);
stuLadd(stu2);
InputOperatorstuInput(stuL);
OutputOperatorstuOutput();
}
}
/
我不能给出完整程序,只能提供一个框架,首先每一张牌都是相异的,对于一副牌的存储,不
妨用数组或者链表。对于花色和牌面属性,用数字和字串来存都行。
对于发牌函数,就是一个随机数加链表或数组的查找 *** 作
/
#ifndef card_h
#define card_h
#include "unith" //这个里面可以写描述牌的类,包括每一张牌属性
//和函数,属性包括牌面、花色,函数可以有显示本张拍信息show()
//,还应该有获得各个属性的get或set函数
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
class A_Set_Card //描述一副牌
{
private:
unit top; //表头
int n; //当前这副牌中有多少张牌
public:
card(); //构造函数
~card(); //析构,这个别忘了
unit outputone(); //随机派一张牌
void creat(); //产生不含大小王的一副牌
};
/
构造,刚开始时这幅牌为空,(也可以把create函数写到构造函数里边)
/
A_Set_Card::A_Set_Card()
{
top = NULL;
n = 0;
}
A_Set_Card::~A_Set_Card() //析构函数
{
unit tem = top; //从表头开始
top = NULL;
while (tem) //如果null != tem
{
unit pp = tem; //用指针pp接住tem所指向的单元
tem = tem->nextp; //tem后移
delete pp; //析构掉刚才tem所指的单元
}
n = 0; //这幅牌中牌数归零
cout<<"。。。洗完牌。。。"<<endl;
}
/
创建一副牌,不含大小王
/
void A_Set_Card::create()
{
for(int j=1; j<5; j++) //j的取值{1、2、3、4}代表四种花色
{
for(int i=1; i<14; i++) //i的取值{113}代表A到K,13种牌面,共134 = 52张
{
unit newp = new unit; //生成一张牌
n++;
newp->inputnum(i); //inputnum()函数用来设置牌面,具体到unith里描述单张牌的类中去写
if(j == 1)
{
newp->inputname("黑桃"); //inputname()函数用来设置花色
}
else if (j == 2)
{
newp->inputname("红桃");
}
else if (j == 3)
{
newp->inputname("梅花");
}
else
{
newp->inputname("方块");
}
if (top == NULL) //第一张
{
top = newp;
top->nextp = NULL;
}
else //非第一张
{
unit tem = top;
top = newp;
top->nextp = tem;
}
}
}
}
/
随机发一张牌,返回那张牌的对象,我觉得稍微有点难的就在这个函数
/
unit A_Set_Card::outputone()
{
unit tem = top; //接过头
srand(time(0)); //设置随机种子
int nn = rand()%n; //在这副牌中剩余的所有牌里随机选一张
if (nn == 0)//恰好是第一张
{
if(tem==NULL)//若空
{
cout<<"空链表"<<endl;
return NULL;
}
top = tem->nextp;
n--;
return tem;
}
else//非第一张
{
for (int i=0; i<nn-1; i++) //tem往下移nn次
{
tem = tem->nextp;
}
if(tem==NULL)//若空
{
cout<<"空链表"<<endl;
return NULL;
}
else
{
unit pp = tem->nextp;//删除这一张
tem->nextp = tem->nextp->nextp;
n--;//记住牌数自减
return pp;
}
}
}
/
然后是排序函数,其实都挺简单,我就写到这吧,希望对你有所帮助
/
void A_Set_Card::sort()
{}
#endif
三菱PLC编程软件模拟运行步骤如下:
1、首先,我们需要在开始菜单中打开三菱PLC编程软件GX Developer:
2、然后,需要从工程菜单中创建新工程,并选择使用plc的系列及类型:
3、接着,需要编写一个简单的自锁程序,编写完毕后点击“程序变换”图标:
4、之后,运行仿真程序,这时点击“梯形图逻辑测试”图标,这时我们编写的程序将传送至“模拟PLC”:
5、传送完毕点击模拟窗口的“寄电器内存监视”然后从d出的对话框选择软元件“X”和“Y”,这时看到的是所有输入和输出软元件的仿真按钮:
6、最后点击停止按钮X1,这时Y0就被断开。这就是整个程序的仿真过程。通过仿真我们就可以判断程序是否正确,非常方便!
import javaawt;
import javaawtevent;
import javaxswing;
public class 计算器 extends JFrame implements ActionListener {
private final String[] KEYS = { "7", "8", "9", "÷", "sqrt", "4", "5", "6",
"×", "%", "1", "2", "3", "-", "1/x", "0", "+/-", "", "+", "=" };
private final String[] COMMAND = { "Backspace", "CE", "C" };
private final String[] M = { " ", "MC", "MR", "MS", "M+" };
private JButton keys[] = new JButton[KEYSlength];
private JButton commands[] = new JButton[COMMANDlength];
private JButton m[] = new JButton[Mlength];
private JTextField resultText = new JTextField();
private boolean firstDigit = true;
private double resultNum = 00;
private String operator = "=";
static double mr;// 记忆的数字
private boolean operateValidFlag = true;
JPanel panel[]=new JPanel[4];
public 计算器(){
super("计算器");
init();
setBackground(ColorLIGHT_GRAY);
setResizable(false);
setLocation(588, 250);
setSize(378,214);
setDefaultCloseOperation(DO_NOTHING_ON_CLOSE); //窗口不能直接关闭
setVisible(true);
addWindowListener( new WindowAdapter() {
public void windowClosing(WindowEvent e){
if (JOptionPaneshowConfirmDialog(null,"确定退出 ", "提示",2)==0){
Systemexit(0);
}}});
}
private void init() {
setLayout(null);
for (int i = 0; i < 4; i++) {
panel[i]=new JPanel();
add(panel[i]);
}
panel[0]setLayout(new GridLayout(1,1,3,3));
panel[1]setLayout(new GridLayout(1,3,3,3));
panel[2]setLayout(new GridLayout(5,1,3,3));
panel[3]setLayout(new GridLayout(4,5,3,3));
resultTextsetHorizontalAlignment(JTextFieldRIGHT);
resultTextsetAlignmentX(50);
resultTextsetEditable(true);
resultTextsetFont(new Font("宋体",FontPLAIN,19));//设置字体
resultTextsetBackground(Colorwhite);
panel[0]add(resultText);
for (int i = 0; i < KEYSlength; i++) {
keys[i] = new JButton(KEYS[i]);
panel[3]add(keys[i]);
if (i%5-3==0){ keys[i]setForeground(Colorred); }
else{keys[i]setForeground(Colorblack);}
keys[i]setVisible(true);
keys[i]setFont(new Font(null,FontPLAIN,17));//设置字体
keys[i]addActionListener(this);
keys[i]setHorizontalAlignment(keys[i]CENTER);
keys[i]setBackground(new Color(255,236,233));
}
keys[4]setFont(new Font(null,FontPLAIN,13));//设置字体
keys[19]setForeground(Colorred);
for (int i = 0; i < COMMANDlength; i++) {
commands[i] = new JButton(COMMAND[i]);
panel[1]add(commands[i]);
commands[i]setForeground(Colorred);
commands[i]addActionListener(this);
}
commands[0]setFont(new Font(null,FontPLAIN,12));//设置字体
for (int i = 0; i < Mlength; i++) {
m[i] = new JButton(M[i]);
panel[2]add(m[i]);
m[i]setForeground(Colorred);
m[i]addActionListener(this);
}
panel[0]setBounds(2, 0, 370, 30);
panel[1]setBounds(74, 30, 298, 29);
panel[2]setBounds(2,30, 70, 150);
panel[3]setBounds(74,60, 300, 120);
validate();
}
public void actionPerformed(ActionEvent e) {
String label = egetActionCommand();
if (labelequals(COMMAND[0])){ //用户按了"Backspace"键
handleBackspace();
} else if (labelequals(COMMAND[1])) { //用户按了"CE"键
resultTextsetText("0");
} else if (labelequals(COMMAND[2])){ //用户按了"C"键
handleC();
} else if (labelequals(M[4])){ //用户按了"M+"键
mr=mr+DoublevalueOf(resultTextgetText())doubleValue();
if (mr==00){m[0]setText("");}
else {m[0]setText("M");}
} else if (labelequals(M[3])){ //用户按了"MS"键
mr=DoublevalueOf(resultTextgetText())doubleValue();
if (mr==00){m[0]setText("");}
} else if (labelequals(M[2])){ //用户按了"MR"键
resultTextsetText(""+mr);
} else if (labelequals(M[1])){ //用户按了"MC"键
mr=00;
m[0]setText("");
} else if (labelequals("sqrt")) { //平方根运算
resultNum = Mathsqrt(DoublevalueOf(resultTextgetText())doubleValue());
resultTextsetText(StringvalueOf(resultNum));
} else if (labelequals("%")){ //百分号运算,除以100
resultNum = DoublevalueOf(resultTextgetText())doubleValue() / 100;
resultTextsetText(StringvalueOf(resultNum));
} else if (labelequals("+/-")){ //正数负数运算
resultNum = DoublevalueOf(resultTextgetText())doubleValue() (-1);
resultTextsetText(StringvalueOf(resultNum));
} else if (labelequals("1/x")) { //倒数运算
resultNum=DoublevalueOf(resultTextgetText())doubleValue();
if (resultNum == 00){ // *** 作不合法
operateValidFlag = false;
resultTextsetText("零没有倒数");
} else {
resultNum = 1 / resultNum;
}
resultTextsetText(StringvalueOf(resultNum));
} else if ("0123456789"indexOf(label) >= 0) { //用户按了数字键或者小数点键
handleNumber(label);
} else { //用户按了运算符键
handleOperator(label);
}
}
private void handleBackspace() { // 处理Backspace键被按下的事件
String text = resultTextgetText();
int i = textlength();
if (i > 0) { //退格,将文本最后一个字符去掉
text = textsubstring(0, i - 1);
if (textlength() == 0) { //如果文本没有了内容,则初始化计算器的各种值
resultTextsetText("0");
firstDigit = true;
operator = "=";
} else { //显示新的文本
resultTextsetText(text);
}
}
}
private void handleNumber(String key) { // 处理数字键被按下的事件
if (firstDigit) { //输入的第一个数字
resultTextsetText(key);
} else if ((keyequals("")) && (resultTextgetText()indexOf("") < 0)){
//输入的是小数点,并且之前没有小数点,则将小数点附在结果文本框的后面
resultTextsetText(resultTextgetText() + "");
} else if (!keyequals("")) { //如果输入的不是小数点,则将数字附在结果文本框的后面
resultTextsetText(resultTextgetText() + key);
}
firstDigit = false; //以后输入的肯定不是第一个数字了
}
private void handleC() { //处理C键被按下的事件, 初始化计算器的各种值
resultTextsetText("0");
firstDigit = true;
operator = "=";
}
private void handleOperator(String key) { //处理运算符键被按下的事件
if (operatorequals("÷")) { //除法运算 ,如果当前结果文本框中的值等于0
if (getNumberFromText() == 00){ // *** 作不合法
operateValidFlag = false;
resultTextsetText("除数不能为零");
} else {
resultNum /= getNumberFromText();
}
} else if (operatorequals("+")){ //加法运算
resultNum += getNumberFromText();
} else if (operatorequals("-")){ //减法运算
resultNum -= getNumberFromText();
} else if (operatorequals("×")){ //乘法运算
resultNum = getNumberFromText();
} else if (operatorequals("=")){ //赋值运算
resultNum = getNumberFromText();
}
if (operateValidFlag) { //双精度浮点数的运算
long t1;
double t2;
t1 = (long) resultNum;
t2 = resultNum - t1;
if (t2 == 0) {
resultTextsetText(StringvalueOf(t1));
} else {
resultTextsetText(StringvalueOf(resultNum));
}
}
operator = key; //运算符等于用户按的按钮
firstDigit = true;
operateValidFlag = true;
}
private double getNumberFromText() { // 从结果文本框中获取数字
double result = 0;
try {
result = DoublevalueOf(resultTextgetText())doubleValue();
}
catch (NumberFormatException e){ }
return result;
}
public static void main(String args[]) {
new 计算器();
}
}
以上就是关于1.设计一个动物声音“模拟器”java程序,希望所设计的模拟器可以模拟许多动物的叫全部的内容,包括:1.设计一个动物声音“模拟器”java程序,希望所设计的模拟器可以模拟许多动物的叫、我要编一个matlab的模拟程序、用JAVA编写 程序功能:编写四个类模拟学员管理信息的信息输入和输出:等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)