我正在尝试编写一个复制文件的简单tcp客户端/服务器应用程序.我希望服务器列出客户端可以复制的文件.到目前为止我的代码是这样的:
import java.io.*;
public class GetFileList
{
public static void main(String args[]) throws IOException{
File file = new File(".");
File[] files = file.listFiles();
System.out.println("Current dir : " + file.getCanonicalPath());
for (int fileInList = 0; fileInList < files.length; fileInList++)
{
System.out.println(files[fileInList].toString());
}
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
Current dir : C:\Users\XXXXX\Documents\NetBeansProjects\Test
.\build
.\build.xml
.\manifest.mf
.\nbproject
.\src
.\UsersXXXXXDocumentsNetBeansProjectsTestsrcfile2.txt
Run Code Online (Sandbox Code Playgroud)
我的问题是它给了我父目录而不是当前目录.我的GetFileList.java位于C:\Users\XXXXX\Documents\NetBeansProjects\Test\src但它显示C:\Users\Alick\Documents\NetBeansProjects\Test任何人都可以帮我解决这个问题吗?
我给了一个有私有方法的类,比如setCoors(int x,int y).该类的构造函数也包含setCoors.在另一个类中,我想要一个调用setCoors的方法setLocation.这可能吗?
新问题:
如果我不被允许将方法设置为公开,这可能吗?
public class Coordinate{
public Coordinate(int a, int b){
setCoors(a,b)
}
private void setCoords(int x, int y)
}
public class Location{
private Coordinate loc;
public void setLocation(int a, int b)
loc = new Coordinate(a,b)
}
Run Code Online (Sandbox Code Playgroud) public void iterativePreorder(Node root) {
Stack nodes = new Stack();
nodes.push(root);
Node currentNode;
while (!nodes.isEmpty()) {
currentNode = nodes.pop();
Node right = currentNode.right();
if (right != null) {
nodes.push(right);
}
Node left = currentNode.left();
if (left != null) {
nodes.push(left);
}
System.out.println("Node data: "+currentNode.data);
}
}
Run Code Online (Sandbox Code Playgroud)
资料来源:Wiki Tree Traversal
时间复杂度是O(n)吗?如果使用递归完成时间复杂性是否相同?
新问题:如果我使用上面的代码从TreeA中找到某个节点来创建另一个树TreeB,它将拥有与TreeA一样多的节点,那么创建TreeB的复杂性将是O(n ^ 2),因为它是n个节点和每个节点会使用上面的代码,即O(n)?
我从数据库中检索一些数据,该数据库在元组值列表中返回它,例如:[(1,),(1,),(1,),(1,),(1,),(1,) ,(1,),(1,),(1,),(1,),(1,),(1,),(1,),(1,),(1,),(1,) ,(1,),(1,)]
是否有一个函数可以总结元组列表中的值?例如,上面的样本应该返回18.
我用一个阻塞队列编写了一个简单的消费者 - 生产者问题,该队列有多个生产者和多个消费者接受并将整数放在队列中.但是,当我尝试测试它时,结果并不理想,例如队列的大小不正确.我不认为消费者和生产者规模正在同步.此外,我对生产者和消费者都进行了2秒钟的睡眠,但在测试时,每两秒就打印出2个生产者和2个消费者的结果.有谁知道我做错了什么?也许我开始错误的线程?我评论了另一种方式,但结果仍然是错误的.
结果:
run:
Producing 425 Thread-0 size left 0
Consuming 890 Thread-3 size left 0
Consuming 425 Thread-2 size left 0
Producing 890 Thread-1 size left 0
Consuming 192 Thread-2 size left 0
Consuming 155 Thread-3 size left 0
Producing 155 Thread-1 size left 0
Producing 192 Thread-0 size left 0
Consuming 141 Thread-2 size left 1
Producing 141 Thread-0 size left 0
Producing 919 Thread-1 size left 0
Consuming 919 Thread-3 size left 0
Producing 361 Thread-1 …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个具有年属性的数据库,但我遇到了一些困难.我创建了脚手架并尝试使用以下代码修改_form.html.erb:
<%= f.date_select :year, :start_year=>2000, :end_year=>Time.now.year %>
Run Code Online (Sandbox Code Playgroud)
试图运行rails服务器并给我这个错误:
1 error(s) on assignment of multiparameter attributes
Run Code Online (Sandbox Code Playgroud)
我意识到我只想要一年而不是一天或一个月.有没有办法做到这一点?我试过:discard_month => true但是只是隐藏它,但仍然存储它.
提前致谢
我正在尝试从提供以下内容的源创建树:要添加到树中的2个节点,以及应添加这2个新闻节点的节点.为了找到这个节点在树中的位置,我使用了一个带有O(n)的inorder遍历.因此,如果在树中添加了n个节点,则整个树的创建将是O(n ^ 2).我的约束是它应该只用O(n)来创建树.
我试图从用户连续读取输入,直到用户键入退出.我只是输入'quit'来测试它,但是console.hasNext()似乎没有返回false.事实上,似乎该程序在第7行(hasNext()行)被阻止.有任何想法吗?
boolean bool = true;
while (bool) {
System.out.println("Type 'quit':");
Scanner console = new Scanner(System.in);
if (console.next().equals("quit")) {
System.out.println("You typed quit");
System.out.println("check: " + console.hasNext()); // This line doesnt print
bool = false;
}
}
Run Code Online (Sandbox Code Playgroud) 我试图创建一个方法,将2个int数组作为输入参数,如果数组是反向则返回true,否则返回false.这是我到目前为止所做的,但这是错误的.
public static void main(String[] args)
{
int b,a;
int[] data1 = {14,-70,-18,88,85,97,-65,13,-71,-12};
int[] data2 = {-12,-71,13,-65,97,85,88,-18,-70,14};
boolean check = true;
for (a=0;a<data1.length;a++)
{
for (b=data2.length-1;b>=0;b=b-1)
{
if (data1[a] != data2[b])
check=false
}
}
System.out.println(check);
}
Run Code Online (Sandbox Code Playgroud)
我的例子是假设打印为true但它没有.我假设2个数组的长度相同.有人可以帮忙吗?
我有一个父接口和一个子接口,对象将实现.我已经创建了一个子接口,因为我希望一个特定的VehicleEntity对象说Truck要将自己添加到HashMap中Car.A Truck将调用VehicleManager的addToCar()方法,将Truck对象添加到Car的hashMap中.我遇到的问题是CarEntity ce = ve;.Netbeans告诉我施放ve给CarEntity,但我不想.代码行不应该有效(假设for循环正在查看的对象是Car对象)?我怎样才能解决这个问题?
public interface VehicleEntity {
getId();
getSpeed();
move();
}
public interface CarEntity extends VehicleEntity{
addToCar(String c);
}
public class Car implements CarEntity{
HashMap<String, VehicleEntity> cars = new HashMap<String, VehicleEntity>();
public void addToCar(String c) {
cars.add(c);
}
}
public class VehicleManager {
HashMap<String, VehicleEntity> vehicles = new HashMap<String, VehicleEntity>();
public void reportToCar(String id) {
for (VehicleEntity ve : ve.values()) {
if (ve.getId().equals(id)) {
CarEntity ce = …Run Code Online (Sandbox Code Playgroud) 我试图在Java中使用for循环打印出这个模式,但我有点卡住了.
zzzzz
azzzz
aazzz
aaazz
aaaaz
aaaaa
Run Code Online (Sandbox Code Playgroud)
我可以打印:
a
aa
aaa
aaaa
aaaaa
Run Code Online (Sandbox Code Playgroud)
使用:
String i = " ";
int a = 0;
for (i="a";i.length()<=5;i=i+"a")
System.out.println(i);
Run Code Online (Sandbox Code Playgroud)
和
zzzzz
zzzz
zzz
zz
z
Run Code Online (Sandbox Code Playgroud)
使用:
String i = " ";
for (i="zzzzz";i.length()>0;i=i.substring(0,i.length()-1))
System.out.println(i);
Run Code Online (Sandbox Code Playgroud)
但我无法弄清楚如何将它们结合起来.我正在考虑i每次更换子字符串并将结束索引的值增加一个,但不确定是否编码.我从这样的事情开始:
String i = " ";
String b = " ";
for (i="zzzzz";i="aaaaa";i=i.replace(i.substring(0,))
System.out.println(i);
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?