ForDemo02

package struct;

public class ForDemo02 {
public static void main(String[] args) {
//练习1:计算0到100之间的气数和偶数的和
int oddsum=0;
int evensum=0;

    for (int i = 0; i <= 100; i++) {
        if(i%2!=0){ //奇数
            oddsum+=i;

        }else{ //偶数
            evensum+=i;
        }
        System.out.println("奇数的和:"+oddsum);
        System.out.println("偶数的和:"+evensum);

    }
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个简单的 Android HCE(Host Card Emulation)演示示例: 1. 在 Android Studio 中创建一个新项目。 2. 在项目的 `AndroidManifest.xml` 文件中添加以下权限: ```xml <uses-permission android:name="android.permission.NFC" /> <uses-feature android:name="android.hardware.nfc.hce" android:required="true" /> ``` 3. 在 `AndroidManifest.xml` 文件中添加一个 `<service>` 元素,以指定要使用的 HCE 服务: ```xml <service android:name=".MyHostApduService" android:exported="true" android:permission="android.permission.BIND_NFC_SERVICE"> <intent-filter> <action android:name="android.nfc.cardemulation.action.HOST_APDU_SERVICE" /> </intent-filter> <meta-data android:name="android.nfc.cardemulation.host_apdu_service" android:resource="@xml/apduservice" /> </service> ``` 4. 在 `res/xml` 目录中创建一个名为 `apduservice.xml` 的新文件,以指定 HCE 服务的 AID(应用程序标识符): ```xml <?xml version="1.0" encoding="utf-8"?> <host-apdu-service xmlns:android="http://schemas.android.com/apk/res/android" android:description="@string/service_description" android:requireDeviceUnlock="false"> <aid-group android:category="other" android:description="@string/aid_description"> <aid-filter android:name="F0010203040506" /> </aid-group> </host-apdu-service> ``` 5. 创建一个名为 `MyHostApduService.java` 的新类,并使其扩展 `HostApduService` 类。在此类中,您可以添加逻辑来处理收到的 APDU(应用程序协议数据单元)命令: ```java public class MyHostApduService extends HostApduService { private static final String TAG = "MyHostApduService"; private static final String SELECT_APDU_HEADER = "00A40400"; private static final String SELECT_APDU_BODY = "F0010203040506"; private static final byte[] SELECT_OK_SW = HexStringToByteArray("9000"); private static final byte[] UNKNOWN_CMD_SW = HexStringToByteArray("0000"); @Override public byte[] processCommandApdu(byte[] apdu, Bundle extras) { Log.d(TAG, "Received APDU: " + ByteArrayToHexString(apdu)); if (Arrays.equals(apdu, BuildSelectApdu(SELECT_APDU_HEADER, SELECT_APDU_BODY))) { Log.d(TAG, "Application selected"); return SELECT_OK_SW; } else { return UNKNOWN_CMD_SW; } } @Override public void onDeactivated(int reason) { Log.d(TAG, "Deactivated: " + reason); } private static byte[] BuildSelectApdu(String header, String body) { return HexStringToByteArray(header + String.format("%02X", body.length() / 2) + body); } private static byte[] HexStringToByteArray(String s) { int len = s.length(); byte[] data = new byte[len / 2]; for (int i = 0; i < len; i += 2) { data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4) + Character.digit(s.charAt(i + 1), 16)); } return data; } private static String ByteArrayToHexString(byte[] bytes) { final StringBuilder builder = new StringBuilder(); for (byte b : bytes) { builder.append(String.format("%02X", b)); } return builder.toString(); } } ``` 6. 运行应用程序,并将设备放在支持 HCE 的 NFC 读卡器上。此时,您的应用程序将模拟一张智能卡,并根据收到的 APDU 命令返回响应。 请注意,这只是一个简单的演示示例,实际上在使用 HCE 技术时,您需要考虑更多的安全和性能问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值