android 莫斯密码转换

android 莫斯密码转换

package com.example.mosstransfer;

import android.annotation.SuppressLint;
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import com.example.tool.R;
import java.util.ArrayList;
import java.util.List;

public class MossTransfer extends AppCompatActivity implements View.OnClickListener {

    private EditText NewStr,OldStr;
    private final String[] strings={"a","b","c","d","e","f","g","h","i","j","k","l","m","n",
    "o","p","q","r","s","t","u","v","w","x","y","z","1","2","3","4","5","6","7","8","9","0","?"
    ,"/","()","-","."};
    private final String[] mossstr={".-","-...","-.-.","-..",".","..-.","--.","....","..",
            ".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",
            ".--","-..-","-.--","--..",".----","..---","...--","....-",".....","-....","--...",
            "---..","----.","-----","..--..","-..-.","-.--.-","-....-",".-.-.-"};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_mosstransfer);
        NewStr=findViewById(R.id.newstr);
        OldStr=findViewById(R.id.oldstr);
    }
    @SuppressLint("NonConstantResourceId")
    @Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.transfer:
                transfer();
                break;
            case R.id.copy:
                ClipboardManager clipboardManager=(ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE);
                ClipData clipData=ClipData.newPlainText("Label",NewStr.getText());
                clipboardManager.setPrimaryClip(clipData);
                Toast.makeText(this, "复制成功", Toast.LENGTH_SHORT).show();
                break;
            case R.id.clear:
                NewStr.setText("");
                OldStr.setText("");
                break;
        }

    }
    private void transfer() {
        String inputstr=OldStr.getText().toString().trim().toLowerCase();
        String[] newstr=inputstr.split(" ");
        List<String> list=new ArrayList<>();
        for (String s : newstr) {
            char[] chars = s.toCharArray();
            for (char aChar : chars) {
                int position = getIndex(strings, String.valueOf(aChar));
                list.add(mossstr[position]);
            }
        }
        String newstr1=list.toString()
                .replaceAll(","," ")
                .replaceAll("\\[","")
                .replaceAll("]","");
        NewStr.setText(newstr1.trim());
    }
    //得到值在数组中的位置
    public static int getIndex(String[] strings,String str){
        for (int i=0;i<strings.length;i++){
            if (strings[i].equals(str)){
                return i;
            }
        }
        return -1;
    }
}

感谢点赞关注回复分享!

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Atomic_space

你的鼓励就是我创作最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值