小编Jit*_*Jit的帖子

java循环输出中不需要的重复

我正在编写一个代码来重塑信号.我得到了不必要的重复输出.

INPUT:

String [] rani = {"A","1","2","OK","B","3","4","OK","B","1","3", "好"};

要求的输出:

A/3 B/7 B/4

得到了输出:

A/3 A/3 A/3 A/3 B/7 B/7 B/7 B/7 B/4


算法:单字母串("A","B"等)后面跟着数字串("1","2"等).每个字母表字符串后跟斜杠和数字的总和,字符串"OK"将被忽略.

作为java和编程的新手,我需要帮助才能获得所需的输出.

我的代码是:

public class SignalOK {

    public static void main(String[] arg) {
        String finalSignal = "";
        String netSignal = "";
        String name = "";
        int total = 0;
        String[] rani = { "A", "1", "2", "OK", "B", "3", "4", "OK", "B", "1",
                "3", "OK" };

        for (int i = 0; i < rani.length; i++) {

            if ((rani[i] …
Run Code Online (Sandbox Code Playgroud)

java arrays string loops

2
推荐指数
1
解决办法
54
查看次数

在Java String中解析和替换双精度数

我正在编写用于翻译信号的java代码.如果给定的字符串(INPUT)是:

C*12.387a0d14assc7*18.65d142a
Run Code Online (Sandbox Code Playgroud)

它的翻译(OUTPUT)应该是:

C*12387:1000a0d14assc7*1865:100d142a 
Run Code Online (Sandbox Code Playgroud)

算法:

在字符串中的任何地方,星号(*)跟随包含小数的数字(在此字符串中有两个,首先是'*12.387',第二个是*18.65'),此数字将被更改为分数,如上例所示12.387转换为12387:1000和18.65转换为1865:100

如果十进制数被隔离,我可以使用以下代码将其转换为分数:

    double d = 12.387;
    String str = Double.toString(d);        
    String[] fraction = str.split("\\.");

    int denominator = (int)Math.pow(10, fraction[1].length());
    int numerator = Integer.parseInt(fraction[0] + "" + fraction[1]);

    System.out.println(numerator + ":" + denominator);
Run Code Online (Sandbox Code Playgroud)

但我不知道如何将十进制数的子串与它包含的字符串分开.刚接触java和编程我需要帮助.谢谢你的期待.

java regex double parsing substring

2
推荐指数
1
解决办法
109
查看次数

标签 统计

java ×2

arrays ×1

double ×1

loops ×1

parsing ×1

regex ×1

string ×1

substring ×1