【问题标题】:Searching within digits using Java使用 Java 在数字内搜索
【发布时间】:2023-03-21 18:29:01
【问题描述】:

您好,我有一个包含一些 2 位整数的文本文件。我想查找这两个数字中是否有任何一个包含特定的单个数字。文本文件中的示例编号为 12。我想测试这些数字的数字中是否有 1 或 3:

package algoritmahomework3;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.Arrays;
import java.util.logging.Level;
import java.util.logging.Logger;

public class AlgoritmaHomework3 {

    private static BufferedReader br = null;
    private static String[] split;
    private static String fileName = "input.txt";

    public static void main(String[] args) throws IOException {

        try {
            // txt String variable is putting the file's content here.
            br = new BufferedReader(new FileReader("C:\\Users\\Alparslan\\Desktop\\input.txt"));
            String txt = " ";
            String msg = " ";
            while((msg = br.readLine()) != null){
                txt += msg;
            }
            for(int i=0; i<txt.length(); i++){
                split = txt.split(" ");
                // split is a static array to put inside the splitted data which is in txt file.
                // This succeed. You can test it using below line of code.
                //System.out.println(Arrays.toString(split));
            }
            printGraph(txt);
           } catch (FileNotFoundException ex) {
            Logger.getLogger(AlgoritmaHomework3.class.getName()).log(Level.SEVERE, null, ex);
        }
      }
    private static void printGraph(java.lang.String txt) {
        if(Integer.parseInt(txt)==1){

        }
    }
}

【问题讨论】:

  • 你的问题到底是什么?
  • 我在文本文件中有数字。例如 12。这有 2 个数字。 1 和 2。我想知道 1 是否是那个数字之一
  • str.indexOf('1')!=-1

标签: java numbers digits


【解决方案1】:

你可以提取数字:

String numberStr = yourStr.replaceAll("[^0-9]", "");

如果你想保留小数点使用:

yourStr.replaceAll("[^\\.0123456789]","");

然后您可以检查个别号码。
在数字之间添加空格:

String numberStr = yourStr.replaceAll("[^0-9]", " ");

只获取数字,并将它们存储到字符串数组中:

String arr[] = s1.trim().split("[a-zA-Z ]+"); // Please note a space is there after Z

然后将所有数字存入整数:

for (int i = 0; i < arr.length; i++){
    no = Integer.parseInt(arr[i]);
    System.out.println(no);
}

【讨论】:

【解决方案2】:

如果您有两个数字作为字符串,例如“12”,您可以使用.indexOf 方法测试它是否包含另一个字符串。

String s = "12";
if (s.indexOf("1") != -1) {
  // it contains "1"
}

if (s.indexOf("2") != -1) {
  // it contains "2"
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-25
    • 2017-04-06
    • 1970-01-01
    • 2017-04-16
    • 2011-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多