我正在尝试用Java解决程序问题.
要求:需要在Array中找到最接近零的值.在数组中,如果值类似于1和-1,则最接近的值应为正值.
public class CloseToZero {
public static void main(String[] args) {
int[] data = {2,3,-2};
int curr = 0;
int near = data[0];
// find the element nearest to zero
for ( int i=0; i < data.length; i++ ){
curr = data[i] * data[i];
if ( curr <= (near * near) ) {
near = data[i];
}
}
System.out.println( near );
}
}
Run Code Online (Sandbox Code Playgroud) 以下代码应从用户获取字符串(包含存储中的项目数据)。
我在使程序迭代到新行时遇到问题。当我按下“输入”时它会中止,但我需要它只将下一行作为输入。代码:
for (i; i < STORE_SIZE; i++) {
fgets(seq, MAX_STRING_LEN, stdin);
if (strcmp(seq, "stop")) {
break;
}
else {
init(seq, ptr);
*(storage + i) = ptr;
}
}
Run Code Online (Sandbox Code Playgroud)
当程序在下一行中得到字符串“stop”时,程序应该中止,而不是按下回车键。
我执行这样的函数:
var a = 123;
function f() {
alert(a);
var a = 9;
}
f();
Run Code Online (Sandbox Code Playgroud)
结果是undefined,为什么会这样?为什么不123呢?
我正在使用Neo4j 2.0.0-M06.只是学习Cypher并阅读文档.在我看来这个查询会起作用,但我应该很幸运...
我正在将推文导入mysql数据库,并从那里将它们导入neo4j.如果Neo4j数据库中已存在推文,则应进行更新.
我的查询:
MATCH (y:Tweet:Socialmedia) WHERE
HAS (y.tweet_id) AND y.tweet_id = '123'
CREATE UNIQUE (n:Tweet:Socialmedia {
body : 'This is a tweet', tweet_id : '123', tweet_userid : '321', tweet_username : 'example'
} )
Run Code Online (Sandbox Code Playgroud)
Neo4j说: This pattern is not supported for CREATE UNIQUE
数据库在具有匹配标签的节点上当前是空的,因此在Neo4j数据库中没有推文.
什么是正确的查询?
这个程序适用于整数,但不是双打.没有错误,但程序返回-1.对不起,如果这是一个愚蠢的问题,但我是编程的新手.
public class binarySearchProject
{
public static int binarySearch(double[] arr, double x, int high, int low)
{
int mid=(high+low)/2;
if(high==low || low==mid || high==mid)
{
return -1;
}
if(arr[mid]>x)
{
return binarySearch(arr, x, high, mid);
}
else if(arr[mid]<x)
{
return binarySearch(arr, x, mid, low);
}
else if(arr[mid]==x)
{
return mid;
}
return -1;
}
public static void main(String args[])
{
double i = 45.3;
double[] a = {-3, 10, 5, 24, 45.3, 10.5};
int size = a.length;
System.out.println(binarySearch(a, i, size, …Run Code Online (Sandbox Code Playgroud) 我最近正在尝试创建一个程序,就像teamviewer一样。进展还算顺利,但我目前面临一个问题。
我试图让我的程序通过套接字发送图像。当我运行这段代码时,它从不输出“应该发送图像!”,所以我认为问题出在 ImageIO.write 行中。
BufferedImage screencapture = new Robot().createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()));
try {
ImageIO.write(screencapture, "jpg", socket.getOutputStream());
System.out.println("Image should be sent!");
} catch (IOException ex){
ex.printStackTrace();
} finally {
if ( socket != null ){
try { socket.close(); } catch (IOException ex){}
}
System.out.println("Image sent and socket closed!");
}
Run Code Online (Sandbox Code Playgroud)
另一边还有一个客户端,消耗上面代码发送的数据。执行此操作的代码是:
BufferedImage image = ImageIO.read(socket.getInputStream());
JLabel label = new JLabel(new ImageIcon(image));
f.getContentPane().add(label);
Run Code Online (Sandbox Code Playgroud)
现在我的问题是,这段代码有什么问题,我该如何使它工作?
我正在开发与安全数据通信相关的 Android 应用程序。我在我的应用程序中使用了一些常量值,并将它们保存在 constant.java 类中。我不希望这些值被逆向工程,但即使我使用 ProGuard for Android,对于专家来说,逆向代码也很容易。这些常量是非常安全的。我可以使用属性文件或 res 文件夹中的任何文件,但这种方法根本不安全。
谁能告诉我如何进行?是否有任何文件格式可以保存我的常量或防止属性文件被逆向工程。是否有任何选项,例如将其保存为 .py python 文件格式并从 Android 代码中读取它?
我想知道标准对以下代码的安全性的说法:
class A { int v; };
class B: public A { }; // no added data member
A a;
B& b = static_cast<B&>(a);
Run Code Online (Sandbox Code Playgroud)
显然的运行时类型a是A,不是B,所以剧组是不是真的类型安全的.但是,由于没有添加任何成员而且没有任何内容是虚拟的,IMO的类的内存布局应该是相同的,这应该可行(可能写入更好reinterpret_cast以表明这种行为?).我的猜测是这是UB,但适用于任何编译器.或者这实际上定义得很好?还是比较危险?
此外,如果B有一些额外的非虚拟成员方法会有什么变化吗?再一次,直觉上我会说不,但我想知道标准对此有何看法.
说我有这个枚举:
public enum MyEnum{
ValueOne = 1,
ValueTwo = 2,
ValueThree = 3
}
Run Code Online (Sandbox Code Playgroud)
然后这个字段/变量:
public MyEnum myEnumInstance = MyEnum.ValueTwo;
Run Code Online (Sandbox Code Playgroud)
我需要得到name的myEnumInstance通过反射从另一个类。
我试过:
myClassInstance.GetType().GetField("myEnumInstance").GetValue(myClassInstance)
Run Code Online (Sandbox Code Playgroud)
ValueOne无论myEnumInstance设置为什么,它始终返回。
如何通过反射获取枚举字段的字符串值/名称?
我需要创建一个文件系统管理器(或多或少),它可以读取或写入数据到文件。
我的问题是如何处理并发?
我可以做类似的事情
public class FileSystemManager {
private ReadWriteLock readWriteLock = new ReentrantReadWriteLock();
public byte[] read(String path) {
readWriteLock.readLock().lock();
try {
...
} finally {
readWriteLock.readLock().unlock();
}
}
public void write(String path, byte[] data) {
readWriteLock.writeLock().lock();
try {
...
} finally {
readWriteLock.writeLock().unlock();
}
}
}
Run Code Online (Sandbox Code Playgroud)
但这意味着对写入(例如)的所有访问都将被锁定,即使第一次调用的目标是 /tmp/file1.txt 而第二次调用的目标是 /tmp/file2.txt。
任何想法如何解决这个问题?
java ×4
android ×1
binary ×1
c ×1
c# ×1
c++ ×1
casting ×1
concurrency ×1
cypher ×1
downcast ×1
enums ×1
filesystems ×1
function ×1
javascript ×1
neo4j ×1
proguard ×1
properties ×1
reflection ×1
scope ×1
search ×1
sockets ×1
static-cast ×1