我需要计算 Functional Java 中单词列表中元音的数量。如果我有这个清单:
List<String> l = Arrays.asList("hello", "world", "test");
Run Code Online (Sandbox Code Playgroud)
我的想法是“删除”元音,然后以这种方式进行减法:
int tot = l.stream().map(s -> s.replace("a", "")).
map(s -> s.replace("e", "")).
map(s -> s.replace("i", "")).
map(s -> s.replace("o", "")).
map(s -> s.replace("u", "")).
map(s -> s.length()).reduce(0, Integer::sum);
int res = l.stream().map(s->s.length()).reduce(0, Integer::sum)-tot;
Run Code Online (Sandbox Code Playgroud)
有一个更好的方法吗?
您能否澄清一下shell命令-l选项的使用exec。当我跑exec ls | cat和exec -l ls | cat.
我希望程序执行2件事:
这是我的代码:
import java.util.*;
class howstrong
{
public static void main(String ar[])
{
String password;
int i;
int c=0;
Scanner in = new Scanner(System.in);
System.out.println("ENTER PASSWORD");
password = in.next();
if (password.length() <= 8)
{
for (i = 0; i <= password.length(); i++)
{
char x = password.charAt(i);
if (Character.isLetter(x))
{
if (Character.isDigit(x))
c = 1;
}
}
if (c == 1)
System.out.println("STRONG");
else
System.out.println("NOT STRONG");
}
else
System.out.println("HAVE AT LEAST 8 CHARACTERS");
}
}
Run Code Online (Sandbox Code Playgroud) 在我的 Java 程序中,我启动一个外部 .jar 文件来修改系统剪贴板内容。之后,我继续将数据写入剪贴板。不幸的是,看起来 jar 已启动,并且程序不会等到 jar 执行完成。
这是我用来启动 jar 文件的代码:
import java.io.IOException;
public class JarExecutor {
private String pathToJar = "";
private String jarFile = "";
private String pathToJava = "C:\\ProgramData\\Oracle\\Java\\javapath\\javaw.exe";
public JarExecutor(String pathToJar, String jarFile) {
this.pathToJar = pathToJar;
this.jarFile = jarFile;
}
public void execute() {
ProcessBuilder pb = new ProcessBuilder(pathToJava, "-jar", pathToJar + jarFile);
try {
Process p = pb.start();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是来自主程序的:
public static void main(String[] args) …Run Code Online (Sandbox Code Playgroud)