「java.card」javacardlayout
今天给各位分享java.card的知识,其中也会对javacardlayout进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、javac编译的一个问题,为什么提示软件包javacard.framework不存在
- 2、java card 的aid怎么设置
- 3、如何获取JavaCard剩余空间
- 4、实现一个JAVA Card类,花色大小按黑桃,红心,方块,梅花排,先比较数字,数字相同情况下比较花色
javac编译的一个问题,为什么提示软件包javacard.framework不存在
问题是由于你没有编译包路径,导致在使用类的时候找不到,请按如下方法进行编译并运行。第一步,编译DataForm.java
javac -d .\ DataForm.java
-d 这个参数会在 DataForm.java 文件所在路径下生成 data 文件夹,里面有一个文件 DataForm.clsaa 第二步,编译Service.java
javac -d .\ Service.java第三步,执行Service
java -cp .\ Service注意:
由于不知道你的 Service.java 是否有 package 目录,如果有将 package目录加到类鸣的前面。
如:
Service.java 中 package 路径如下:
package service;
执行脚本将变为:
java -cp .\ service.Service有问题请给我留言
java card 的aid怎么设置
底层为按照JavaCard规范实现的JavaCard平台,向上提供规范定义的接口(API),通常支持JavaCard API和GP API。
如何获取JavaCard剩余空间
package GetFreeSpacePkg;
import javacard.framework.APDU;
import javacard.framework.ISO7816;
import javacard.framework.Applet;
import javacard.framework.ISOException;
import javacard.framework.JCSystem;
/**
* 获取卡内剩余空间,包括E2P/Flash与RAM.
* 对于E2P/Flash来说,如果卡内剩余空间超过0x3FFF,则此应用返回的数据会有较小的误差。
* 测试命令:
*
* 8000000000 //get DTR
* 8001000000 //get RTR
* 8002000000 //get E2P/Flash
*
* @author SCPlatform@outlook.com
*/
public class GetFreeSpaceApplet extends Applet {
public static void install(byte[] bArray, short bOffset, byte bLength) {
new GetFreeSpaceApplet().register(bArray, (short) (bOffset + 1),bArray[bOffset]);
}
public void process(APDU apdu) {
if (selectingApplet()) {
return;
}
byte[] buf = apdu.getBuffer();
int iFreeSpace=0;
switch (buf[ISO7816.OFFSET_INS]) {
case (byte) 0x00://DTR
iFreeSpace = getFreeDTR();
break;
case (byte) 0x01://RTR
iFreeSpace = getFreeRTR();
break;
case (byte) 0x02://persistent
iFreeSpace = getFreePersistent();
break;
default:
ISOException.throwIt(ISO7816.SW_INS_NOT_SUPPORTED);
}
JCSystem.requestObjectDeletion();
buf[3]=(byte)(iFreeSpace);
buf[2]=(byte)(iFreeSpace8);
buf[1]=(byte)(iFreeSpace16);
buf[0]=(byte)(iFreeSpace24);
apdu.setOutgoingAndSend((short)0, (short)4);
}
/**
* 获取剩余MEMORY_TYPE_TRANSIENT_DESELECT空间
* @return
*/
public int getFreeDTR(){
//首先取得剩余空间大小
short memsize = JCSystem.getAvailableMemory(JCSystem.MEMORY_TYPE_TRANSIENT_DESELECT);
int allmemsize = memsize;
//如果返回值为0x3FFF,则剩余空间大于此值,可继续取得剩余空间
while(memsize == (short)32767){
JCSystem.makeTransientByteArray(memsize,JCSystem.MEMORY_TYPE_TRANSIENT_DESELECT);//不存储返回的数组对象
memsize = JCSystem.getAvailableMemory(JCSystem.MEMORY_TYPE_TRANSIENT_DESELECT);
allmemsize += memsize;
}
return allmemsize;
}
/**
* 获取剩余的MEMORY_TYPE_TRANSIENT_RESET空间
* @return
*/
public int getFreeRTR(){
//首先取得剩余空间大小
short memsize = JCSystem.getAvailableMemory(JCSystem.MEMORY_TYPE_TRANSIENT_RESET);
int allmemsize = memsize;
//如果返回值为0x3FFF,则剩余空间大于此值,可继续取得剩余空间
while(memsize == (short)32767){
JCSystem.makeTransientByteArray(memsize,JCSystem.MEMORY_TYPE_TRANSIENT_RESET);//不存储返回的数组对象
memsize = JCSystem.getAvailableMemory(JCSystem.MEMORY_TYPE_TRANSIENT_RESET);
allmemsize += memsize;
}
return allmemsize;
}
/**
* 获取剩余的E2P/Flash空间,如果剩余空间大于0x3FFF,则此接口将创建数组,然后再获取新的剩余空间,
* 数组对象头将占用几个字节(根据对象存储结构不一样,可能占用字节数不同,一般数组头为7字节),因此存在误差。
* @return
*/
public int getFreePersistent(){
//首先取得剩余空间大小
short memsize = JCSystem.getAvailableMemory(JCSystem.MEMORY_TYPE_PERSISTENT);
int allmemsize = memsize;
//如果返回值为0x3FFF,则剩余空间大于此值,可继续取得剩余空间
while(memsize == (short)32767){
byte[] tmp=new byte[memsize]; //不存储返回的数组对象
memsize = JCSystem.getAvailableMemory(JCSystem.MEMORY_TYPE_PERSISTENT);
allmemsize += memsize;
}
return allmemsize;
}
}
实现一个JAVA Card类,花色大小按黑桃,红心,方块,梅花排,先比较数字,数字相同情况下比较花色
int[] deck = new int[52];
String[] suits = { "黑桃","红心","方块","梅花" };
String[] ranks = { "A", "2", "3", "4", "5", "6", "7", "8", "9", "10",
"J", "Q", "K" };
for (int i = 0; i deck.length; i++)
deck[i] = i;
for (int i = 0; i deck.length; i++) {
int index = (int) (Math.random() * deck.length);
int demp = deck[i];
deck[i] = deck[index];
deck[index] = demp;
}
for (int i = 0; i 52; i++) {
for (int j = 0; j 52 - i; j++)
if (deck[j] % 13 deck[j + 1] % 13) {
int demp = deck[j];
deck[j] = deck[j + 1];
deck[j + 1] = demp;
}
}
for (int i = 0; i 52; i++) {
for (int j = 0; j 52 - i; j++)
if (deck[j] / 13 deck[j + 1] /13
deck[j] % 13 == deck[j + 1] % 13) {
int demp = deck[j];
deck[j] = deck[j + 1];
deck[j + 1] = demp;
}
}
关于java.card和javacardlayout的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。