⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jc2matrixcommand.java

📁 基于j2me的高等代数计算工具
💻 JAVA
字号:
package edu.neu.aatk.command.jzcf;

import java.io.IOException;

import javax.microedition.lcdui.Alert;
import javax.microedition.lcdui.AlertType;
import javax.microedition.lcdui.Image;

import edu.neu.aatk.Calculator;
import edu.neu.aatk.canvas.InputMatrixCanvas;
import edu.neu.aatk.canvas.InputXYCanvas;
import edu.neu.aatk.command.KeyCommand;
import edu.neu.aatk.command.jzjf.Jj1XYCommand;

public class Jc2MatrixCommand implements KeyCommand {
	private InputMatrixCanvas c;
	private double[][] matrix1;
	
	public Jc2MatrixCommand(InputMatrixCanvas c, double[][] matrix1) {
		this.c = c;
		this.matrix1 = matrix1;
	}
	
	public void keyPressed(int keyCode) {
		if(keyCode <= 57 && keyCode >= 48) {
			c.numberPressed = true;
			c.keyCode = keyCode;
	    	c.repaint();
	    	c.serviceRepaints();
		}
		
		switch(keyCode) {
			case -8: //clear
				c.mtbs[c.xFocus][c.yFocus].delete();
		    	c.repaint();
		    	c.serviceRepaints();
		    	break;
			case -7: //rightkey
				c.rightKeyClicked = true;
		    	c.repaint();
		    	c.serviceRepaints();
				break;
			case -6:
				c.leftKeyClicked = true;
		    	c.repaint();
		    	c.serviceRepaints();
				break;
			case -1: // up
				if(--c.xFocus < 0){
					c.xFocus += c.xValue;
				}
		    	c.repaint();
		    	c.serviceRepaints();
				break;
			case -2: // down
				c.xFocus = ( c.xFocus + 1 ) % c.xValue;
		    	c.repaint();
		    	c.serviceRepaints();
				break; 
			case -3: // left
				if(--c.yFocus < 0){
					c.yFocus += c.yValue;
				}
		    	c.repaint();
		    	c.serviceRepaints();
				break;
			case -4: // right
				c.yFocus = ( c.yFocus + 1 ) % c.yValue;
		    	c.repaint();
		    	c.serviceRepaints();
				break; 
		}
	}
	
	public void keyReleased(int keyCode) {
		if(keyCode <= 57 || keyCode >= 48)
			c.numberPressed = false;
		switch(keyCode) {
			case -7:
				c.rightKeyClicked = false;
		    	c.repaint();
		    	c.serviceRepaints();
		    	double matrix[][] = new double[c.xValue][c.yValue];
		    	for(int i = 0; i < c.xValue; i ++) {
		    		for(int j = 0; j < c.yValue; j ++) {
		    			matrix[i][j] = c.mtbs[i][j].getNumber();
		    		}
		    	}
		    	Calculator c = new Calculator(matrix1, matrix);
		    	c.printMatrix();

				System.out.println(c.jzcf());
				
				Alert alert = new Alert(null);
				alert.setString(
						"两个矩阵的积为:\n" + new Calculator(matrix1, matrix).jzcf());
				alert.setTimeout(Alert.FOREVER);
				alert.setType(AlertType.INFO);
				Image image = null;
				try {
					image = Image.createImage("/cmark.PNG");
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				alert.setImage(image);
				this.c.aatk.display.setCurrent(alert);
		    	
				break;
			case -6:
				this.c.leftKeyClicked = false;
				//清空状态
				this.c.repaint();
				this.c.serviceRepaints();
				InputXYCanvas ixyc = new InputXYCanvas("矩阵乘法",this.c.aatk);
				ixyc.setInfo("请输入矩阵1的行数和列数");
				ixyc.setKeyCommand(new Jc1XYCommand(ixyc));
				this.c.aatk.display.setCurrent(ixyc);
				break;
		}
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -