似乎我的输入框似乎出现了两次,即使它们也不应该出现.似乎无法弄清楚为什么.如果有人可以帮助,那会很棒:)
int x; //temperature input
int y; //temperature type
int z; //temperature convert
int c; //temperature celsius
int f; //temperature fahrenheit
public void init()
{
setSize(500, 500);
Container c = getContentPane();
c.setBackground(Color.BLUE);
}
public void paint (Graphics g)
{
super.paint(g);
g.setFont(new Font("Veranda", Font.PLAIN, 20));
g.setColor(Color.BLACK);
String number = JOptionPane.showInputDialog("What temperature would you like to convert? (input # of degrees)");
x = Integer.parseInt(number);
String number2 = JOptionPane.showInputDialog("What temperature type are you inputting? 1. Fahrenheit 2. Celsius");
y = Integer.parseInt(number2);
if (y==1) …Run Code Online (Sandbox Code Playgroud) 在java中,您可以调用Date对象上的getTime()方法来表示自1970年1月1日00:00:00 GMT以来的日期(以毫秒为单位).这种表示在其他编程语言API中是否通用?
例如,如果我问一个使用不同编程语言的API的人给我当前的日期和时间以毫秒表示,我可以安全地假设如果我计算这个值,我会得到相同的日期和时间在服务器端使用java.
我问的原因是因为我正在构建一个基于http的公共API,我希望客户端为我提供一个时间戳,我需要处理服务器端.我的问题是,自格林威治标准时间1970年1月1日00:00:00以来,以毫秒为单位询问日期表示是否安全,而不是像yyyy-MM-dd'T'HH这样的完整字符串表示:mm: ss.SSS'Z
我用Java编写我的模型,控制器等.
我有一个包含a的数据模型SortedMap<String, Foo>.地图实现类是一个TreeMap.
如果在模板中,我渲染地图的值(使用它toString()),如下所示:
@theSortedMap.keySet()
Run Code Online (Sandbox Code Playgroud)
...然后按预期的升序打印出值.
但是,如果我使用@for构造:
@for(keyValue <- theSortedMap.keySet()) {
@keyValue <br>
}
Run Code Online (Sandbox Code Playgroud)
...然后迭代顺序变得不可预测.
如何迭代地图的键以保持所需的迭代顺序?
(这是预期的吗?或者这是Play中的错误吗?)
我在Haskell中编写一个函数,它接受一个Java类文件,并编写另一个相同但包含一些修改的类文件.为此,我觉得我肯定需要一个状态monad来至少保存包含类文件所有字节的[Word8].然而,在我对Haskell的State Monads的所有研究之后,我仍然无法弄清楚如何做到这一点.谁能指出我正确的方向?我希望能够有一个[Word8](或者你知道,任何数据类型)在所有函数的范围内,我可以从函数中修改.我理解这涉及使用状态<-get ... put newstate
但我真的不知道从哪里开始定义monad和诸如此类的东西.
非常感谢提前!
我正在尝试编写一个程序,用户可以:1)向联系人添加人员(姓名,电话,电子邮件),2)从联系人中删除一个人,3)从联系人中读取所有人.
我这样做的方式是我要求用户选择并分别做任何事情.对于写入,我只是将一个对象写入该文件.为了删除,我想我会问用户"姓"将用作KEY(因为我正在使用TreeMap)并将删除键上的值(对象).
所以我在这里读书时遇到了问题.我试图像这样读取对象:
public void readContact()
{
TreeMap<String, Contact> contactMap = new TreeMap<String, Contact>();
try
{
ObjectInputStream in = new ObjectInputStream(new BufferedInputStream(
new FileInputStream(file)));
while( in.available() > 0 ) //This line does NOT read
{
Contact c = (Contact)in.readObject();
contactMap.put(c.getLastName(), c);
}
for(Map.Entry contact : contactMap.entrySet() )
{
Contact con = contactMap.get( contact.getKey() );
System.out.println( con.getLastName() + ", " + con.getFirstName() + ": " + con.getPhoneNumber() + "\t" + con.getEmail());
}
}
catch(Exception e)
{
System.out.println("Exception caught");
}
}
Run Code Online (Sandbox Code Playgroud)
请不要建议做 …
我现在正在服务器上玩游戏.服务器的数据包读取循环是阻塞的,并且通常等待直到收到数据包才能继续循环.但是,如果客户端断开连接,DataInputStream将返回单个字节(-1),并且如预期的那样快速连续执行循环.但是,我不使用DataInputStream的read()方法一次读取一个字节,我使用read(byte [])方法将它们一次性读取到一个字节数组中.因此,我无法轻易检测到流是否返回值为-1的单个字节.
可能的解决方案:我可以检查数组的第一个字节是否为-1,如果是,则循环遍历数组以查看数组的其余部分是否为零.这样做看起来效率极低,我觉得随着客户端数量的增加会影响性能.
这是我的数据包读取循环的简化版本:
while (!thread.isInterrupted() && !isDisconnected())
{
try
{
byte[] data = new byte[26];
data = new byte[26];
input.read(data);
//Need to check if end of stream here somehow
Packet rawPacket = Packet.extractPacketFromData(data); //Constructs packet from the received data
if(rawPacket instanceof SomePacket)
{
//Do stuff with packet
}
}
catch(IOException e)
{
disconnectClient(); //Toggles flag showing client has disconnected
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个使用Java开发的Android应用程序.我现在想开始在同一个应用程序中使用Kotlin.是否可以在现有应用程序中并排使用Kotlin和Java?
我的档案
123
Run Code Online (Sandbox Code Playgroud)
码:
BufferedReader br = new BufferedReader(new FileReader(File));
int[] a = br.readline(); // will give me a number 123 not an array
Run Code Online (Sandbox Code Playgroud)
我也使用了StringTokenzier,它也给了我一个不是数组的数字.
预期产出:
a[0] = 1
a[1] = 2
a[2] = 3
Run Code Online (Sandbox Code Playgroud)
请帮我
java ×6
api ×1
arrays ×1
date ×1
eofexception ×1
generics ×1
haskell ×1
if-statement ×1
kotlin ×1
loops ×1
monads ×1
networking ×1
packet ×1
treemap ×1