desktop = Desktop.getDesktop().browse(uri);
Run Code Online (Sandbox Code Playgroud)
上面的代码在Ubuntu OS中不起作用.如果我执行此代码,那么我的应用程序会被触发并挂起一段时间,在此期间我无法在java控制台中停止正在运行的应用程序.能够关闭该应用程序的唯一方法是FORCE QUIT.
我正在使用java DOM解析xml文档,我需要让每个节点都做一些事情.
我有这个代码:
public void analyze_file(Node node){
if(node.getNodeType() != Node.DOCUMENT_NODE){
//do something
}
NodeList list = node.getChildNodes();
for(int i=0; i<list.getLength(); i++){
if(list.item(i).getNodeType() == Node.ELEMENT_NODE){
analyze_file(list.item(i));
}
}
}
Run Code Online (Sandbox Code Playgroud)
问题是,我的xml文件非常大(> 30000行),上面的代码需要太多时间来检查节点是否属于ELEMENT_NODE类型.我看到如果程序在到达最后一个ELEMENT_NODE节点后停止,则执行时间会非常短.
有没有办法获得所有类型ELEMENT_NODE只有的子节点?
例如: NodeList list = node.getElementChildNodes();
谢谢你的帮助!
我无法进行进一步的处理,因为我在运行此代码时关闭了ResultSet.我在sqlite数据库表的15行之后添加了值,我希望找到15行的平均值,并且应该存储在ArrayList中.
这是代码: -
try {
Class.forName("org.sqlite.JDBC");
c = DriverManager.getConnection("jdbc:sqlite:test.db");
c.setAutoCommit(false);
System.out.println("Opened database successfully3");
stmt = c.createStatement();
rs = stmt
.executeQuery("SELECT TIME,BID,ASK FROM '" + title + "' ;");
System.out.println("Opened database successfully 20");
while (rs.next()) {
i++;
System.out.println(i);
if (i > 15) {
System.out.println("i am in");
List<String> stocklist = new ArrayList<String>();
String main = rs.getString(1);
System.out.println(rs.getString(1));
String s[] = main.split(" ", 2);
String date = s[0];
String time = s[1];
stocklist.add(date);
stocklist.add(time);
stocklist.add(df.format(rs.getFloat("BID")));
stocklist.add(df.format(rs.getFloat("ASK")));
rs1 = stmt
.executeQuery("SELECT ASK FROM '" …Run Code Online (Sandbox Code Playgroud) 以下是我最终做的但我找不到正确的答案.
示例 - 如果我有序列"hellloo",则输出将为"lll".请告诉我有什么问题?
public class LongestSequenceOfChar {
static String testcase1="hellloo";
public static void main(String[] args) {
LongestSequenceOfChar test = new LongestSequenceOfChar();
String result = test.longestSequenceOfChar(testcase1);
System.out.println(result);
}
public String longestSequenceOfChar(String str){
String result="";
for(int i=0;i<str.length();i++){
char ch=str.charAt(i);
for(int j=i+1;j<str.length();j++){
char ch1=str.charAt(j);
if(ch!=ch1){
continue;
}
result+=ch;
}
}
return result;
}
}
Run Code Online (Sandbox Code Playgroud) 我正在使用一个.properties文件.在那我有以下配置参数:
Appnameweb = app1
Appnamemobile = app2
Appnameweb1 = app3
Run Code Online (Sandbox Code Playgroud)
可以有许多以用户提供的Appname开头的配置参数.如何读取所有属性文件参数,其中键将包含特定的字符串,如本例中的Appname?
基本上我做了这个程序,计算机生成随机卡.我创建了一个名为'rndnumber'的类,这个类生成随机数.然后,我创建了另一个名为'rndsuits'的类,这会生成随机套装.问题是当我去我的主类,并执行代码时,我得到的是null而不是数字和套装.谁知道为什么?我的输出基本上是:这是你的随机卡:null null.
public class maincard {
public static void main(String[] args){
System.out.println("Here is your random card");
rndnumber h = new rndnumber();
rndsuit a = new rndsuit();
System.out.println(h.getString() + " of " + a.getStringz());
}
}
public class rndnumber {
private int rndnumber = (int) (Math.random()*13+1);
private String number;
public String getString(){
return number;
}
public void rnd(){
switch (rndnumber){
case 1:
number = "Ace";
break;
case 2:
number = "2";
break;
case 3:
number = "3";
break;
case 4:
number …Run Code Online (Sandbox Code Playgroud) protected enum Category { Action, Fiction, Drama, Romance, SciFi, Poems, Kids }
Run Code Online (Sandbox Code Playgroud)
我创建了这个enum类型,现在我必须为我的类创建一个构造函数.
public Book(String title, int code, List<String> authors, String publisher, int year, Category categ){
this.title = title;
this.code = code;
this.authors = authors;
this.publisher = publisher;
this.year = year;
this.category = ....;
}
Run Code Online (Sandbox Code Playgroud)
我不明白我将如何向构造函数传递枚举类型的值.
有人可以帮忙吗?
我知道这是初学者的问题,但我似乎无法在任何地方找到答案.
我上课了:
class ColumnBuilder < C extends ICompositeColumn > implements IColumnBuilder < C ,
List < ColumnNameComponent > > {
@Override
public C getColumn(List<ColumnNameComponent> columnNameComponents) {
Collections.sort(columnNameComponents);
C compositeColumn = (C)new CompositeColumnImpl();
for (ColumnNameComponent component : columnNameComponents){
compositeColumn.add(component.getOrdinal(),component.getValue());
}
return compositeColumn;
}
Run Code Online (Sandbox Code Playgroud)
CompositeColumnImpl类实现ICompositeColumn接口为什么编译器需要在此行中放置cassting:
C compositeColumn = (C)new CompositeColumnImpl();
Run Code Online (Sandbox Code Playgroud)
谢谢.
以这两个片段为例:
情况1:
Scanner s = new Scanner(System.in);
int n = s.nextInt(); /** take user input **/
n *= Double.NEGATIVE_INFINITY;
Run Code Online (Sandbox Code Playgroud)
和
案例2:
int k=10;
double kk = 10.10;
int rst = k*kk;
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,我都没有从我这边进行任何类型转换,但是Case 1执行并n正确打印值,但是Case 2抛出错误,can not convert from double to int.为何如此区别?
java ×10
casting ×2
constructor ×1
dom ×1
enums ×1
generics ×1
non-static ×1
sqlite ×1
ubuntu ×1
xml ×1