我想做 -
BufferedReader br = new BuffereReader(file);
Scanner s = new Scanner(br);
sys.out(s.next());
sys.out(buffReader.readLine());
Run Code Online (Sandbox Code Playgroud)
我期望发生的是现在在文件上有两个独立的读者指向不同的地方.但是,buffReader在readLine上返回null,而扫描程序似乎工作正常.我有可能拥有像我想要的2位读者吗?
我试图做一个快速的理智检查......它失败了.这是我的代码 -
import java.util.regex.*;
public class Tester {
public static void main(String[] args) {
String s = "a";
Pattern p = Pattern.compile("^(a)$");
Matcher m = p.matcher(s);
System.out.println("group 1: " +m.group(1));
}
}
Run Code Online (Sandbox Code Playgroud)
而我期望的是看到group 1: a.但相反,我得到了一个IllegalStateException: no match found,我不明白为什么.
编辑:我也尝试打印groupCount(),它说有1.
我正在学习 A* 路径查找算法,我找到的所有示例都是基于网格的。因此,它们的所有启发式函数都依赖于某种物理距离(即基于曼哈顿的距离、对角线距离或欧几里德距离)。
但是如果我们用自由图形代替网格怎么办?说下面的例子,哪里S是起点,哪里G是目标:
S---A
|
| G
| |
B---C---D
Run Code Online (Sandbox Code Playgroud)
在这种情况下,“如乌鸦飞翔”的近似值没有意义,因为该图与
S---A
|
B---C---D
|
G
Run Code Online (Sandbox Code Playgroud)
那么在这种情况下我可以使用什么样的启发式函数呢?
Angular UI Bootstrap中的多个指令有一个append-to-body选项。我什么时候需要使用它,它的优缺点是什么?
angularjs angular-ui angularjs-directive angularjs-bootstrap
如何有效地找到小于给定 int 的最大平方数(即 4、9、16)n?我有以下尝试:
int square = (int)Math.sqrt(number);
return square*square;
Run Code Online (Sandbox Code Playgroud)
但它显然效率低下,无法获得平方根,以便我们可以对其进行平方。
假设我有这样的文字:"AAAA1 AAA11 AA111AA A1111 AAAAA AAAA1111".
我想找到符合这3个标准的所有匹配项:
-Capital letter 1到4次
-Digit 1到4次--Max个
字符数为5
所以比赛将是:
{"AAAA1", "AAA11", "AA111", "A1111", "AAAA1"}
我试过了
([A-Z]{1,4}[0-9]{1,4}){5}
Run Code Online (Sandbox Code Playgroud)
但我知道它会失败,因为它正在寻找我的团队五次.
有没有办法将组的结果限制为5个字符?
谢谢
Java 9向该类介绍了方法requireNonNullElse和requireNonNullElseGet方法Objects.这些Optional.ofNullable() orElse()和orElseGet()方法在功能上有什么不同吗?
String foo = null;
Objects.requireNonNullElse(foo, "nonNull");//returns the string "nonNull"
Optional.ofNullable(foo).orElse("nonNull");//also returns the string "nonNull"
Run Code Online (Sandbox Code Playgroud)
如果他们没有功能差异,为什么Objects现在添加一个?
我正在尝试编写一些具有以下基本形式的简单套接字代码 -
try(BufferedReader request = new BufferedReader(new InputStreamReader(sock.getInputStream()))){
//Do some work...
}
//BufferedReader gets closed, but also makes the socket close
...
...
response.write(blah);//Causes exception because socket is closed
Run Code Online (Sandbox Code Playgroud)
我的问题是套接字正在关闭,但我不认为它应该是.try-with-resources创建一个BufferedReader,然后在我离开try块时自动关闭它,但由于某种原因它也会关闭整个套接字!因此,当我稍后使用相同的套接字获得我的响应代码时,我得到一个异常.有没有什么办法解决这一问题?或者我只是不必使用try-with-resources(这将不太理想)?
是否可以创建断点,条件是递归过程的开始?换句话说,堆栈仅应调用该函数。
IE考虑以下工作流程:
主函数->调用递归函数->命中断点->继续->递归调用self->不要命中断点->继续递归。
我怎么会在猫鼬中这样做,我找不到任何带有"或"的东西
userModel.where('email')
.equals(req.body.email)
.or('username').equals(req.body.username) //need the "or"
.exec(function (err, docs) {
....
});
Run Code Online (Sandbox Code Playgroud) java ×6
algorithm ×2
null ×2
regex ×2
a-star ×1
angular-ui ×1
angularjs ×1
breakpoints ×1
constructor ×1
eclipse ×1
heuristics ×1
java-9 ×1
math ×1
mongodb ×1
mongoose ×1
node.js ×1
nullable ×1
optional ×1
recursion ×1
sockets ×1
square-root ×1