gpt4 book ai didi

Java - 如何为程序实现滑动窗口

转载 作者:行者123 更新时间:2023-11-30 08:52:55 25 4
gpt4 key购买 nike

<分区>

我正在为如何实现滑动窗口解决以下问题而苦苦挣扎。

问题:某公司正在评估是否可以通过解析PI的小数位后的数字来分配电话号码。假设每个电话号码有 5 位数字。所以第一个电话号码的小数点后的前 5 位数字,从第二个位置开始的 5 位数字构成第二个电话号码(它遵循滑动窗口模式,您一次滑动一个数字)。

  • 如果所有电话号码都是唯一的,那么程序应该打印“任务成功,所有电话号码都是唯一的。”
  • 但是,如果不是,那么它应该打印“电话号码重复”。还应打印生成的总电话号码。该程序应该能够读取 100,000 位的 PI。

以下是我目前的尝试。

滑动窗口如何实现?

非常感谢任何建议。

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStreamReader;
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;


public class Problem3 {
public static void main(String[] args) throws Exception {
FileInputStream inputstream = null;
BufferedReader reader = null;
Set<String> set = new HashSet<String>();

@SuppressWarnings("resource")
Scanner input = new Scanner(System.in);

try {
System.out.println("Give the location of the file (example: C:\\Users\\Onur\\workspace\\ProgAssign3\\src\\pi.txt):");
String fileloc = input.nextLine();

inputstream = new FileInputStream(fileloc);
reader = new BufferedReader(new InputStreamReader(inputstream));
String stringinput;

System.out.println("Number of digits of PI to parse: ");
int parsenum = input.nextInt() + 2;
String[] stringarray = new String[parsenum];

while((stringinput = reader.readLine()) != null) {
stringinput = stringinput.substring(2, parsenum);

for(int i = 0; i < stringinput.length(); i++) {
stringarray = stringinput.split("");
}
}

for(int i = 0; i < 5; i++){
set.add(stringarray[i]);
}

System.out.println(set);

}
catch (FileNotFoundException exception) {
System.err.println("File not found, please try again");
main(null);
}
catch (Exception e) {
System.err.println("Invalid input entered");
}
finally {
reader.close();
}
}
}

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com