每当我尝试写这样的数字时 -
(1
2
3
4
56)
只需要第一个数字。我的代码出了什么问题。这是我的代码。
BufferedReader out = new BufferedReader(new FileReader("Nos for finding highest.txt"));
PrintWriter in = new PrintWriter(new FileWriter("third.txt"));
String str = " ";
str = out.readLine();
String[] numbers = str.split("\n");
int[] array = new int[numbers.length];
int count = 0;
for (String strs : numbers) {
array[count++] = Integer.parseInt(strs);
}
int max = array[0];
for (int c : array) {
if (c > max)
max = c;
}
in.println(new Integer(max).toString());
in.close();
out.close();
如果我在上面的代码中使用while((str = out.readLine()) != null)
,则会打印出所有数字,而不是打印max(Largest Number)
。
答案 0 :(得分:1)
如果输入的数字在同一行上,则使用空格分割输入:
String[] numbers = str.split(" ");
如果文件中的数字都是新行,请使用
String[] numbers = str.split("\n");
答案 1 :(得分:0)
由于格式原因,我会扩展我的评论:假设您的文件每行有一个数字,您首先要将它们全部读入列表:
from datetime import datetime
import time
datetest = "2016.05.09" + " "+ "15:45:45"
d = datetime.strptime(datetest, "%Y.%m.%d %H:%M:%S")
t = d.timetuple()
res = int(time.mktime(t)) * 1000
print(res) # -> 1462833945000
然后迭代并寻找最高数字:
List<Integer> list = new LinkedList<>();
while((str = out.readLine()) != null) {
//assuming the line is not empty and contains a valid integer
list.add( Integer.valueOf(str) );
}