想象一个圆圈.想象一个馅饼.想象一下,尝试返回一个bool,它确定提供的X,Y参数是否包含在其中一个饼图中.
我对弧的了解:
我有CenterX,CenterY,Radius,StartingAngle,EndingAngle,StartingPoint(圆周上的点),EndingPoint(圆周上的点).
给定X,Y的坐标,我想确定该坐标是否包含在饼图幻灯片中的任何位置.
public class SieveGenerator{
static int N = 50;
public static void main(String args[]){
int cores = Runtime.getRuntime().availableProcessors();
int f[] = new int[N];
//fill array with 0,1,2...f.length
for(int j=0;j<f.length;j++){
f[j]=j;
}
f[0]=0;f[1]=0;//eliminate these cases
int p=2;
removeNonPrime []t = new removeNonPrime[cores];
for(int i = 0; i < cores; i++){
t[i] = new removeNonPrime(f,p);
}
while(p <= (int)(Math.sqrt(N))){
t[p%cores].start();//problem here because you cannot start a thread which has already started(IllegalThreadStateException)
try{
t[p%cores].join();
}catch(Exception e){}
//get the next prime
p++;
while(p<=(int)(Math.sqrt(N))&&f[p]==0)p++;
}
//count …
Run Code Online (Sandbox Code Playgroud) 我有这些冗长的陈述,我将在这里称为x,y等.我的条件语句的结构如下:
if(x || y || z || q){
if(x)
do someth
else if (y)
do something
if(z)
do something
else if(q)
do something
}
else
do smthing
Run Code Online (Sandbox Code Playgroud)
有没有更好,更短的方式来写这个东西?谢谢
我是Java新手.Postgres db包含日期格式yyyy-MM-dd
.我需要转换为dd-MM-yyyy
.
我试过这个,但显示错误的结果
public static void main(String[] args) throws ParseException {
String strDate = "2013-02-21";
DateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");
Date da = (Date)formatter.parse(strDate);
System.out.println("==Date is ==" + da);
String strDateTime = formatter.format(da);
System.out.println("==String date is : " + strDateTime);
}
Run Code Online (Sandbox Code Playgroud) 我是一个使用Java在csv文件上进行数据处理的新手.为此,我使用Java(线程池)的多线程功能将csv文件批量导入Java,并在每个行上执行一些操作.在我的四核上,多线程可以大大加快这个过程.
我很想知道多处理如何/更加加速操作?如果是这样,是否有可用的教程?(Java Basic Tutorial提到了一个类,但是我不熟悉语法来自己理解这个类:
来自http://download.oracle.com/javase/tutorial/essential/concurrency/procthread.html:
Java虚拟机的大多数实现都作为单个进程运行.Java应用程序可以使用ProcessBuilder对象创建其他进程.多进程应用程序超出了本课程的范围[那时它们在哪里解释?].
在eclipse中,我希望看到包作为文件夹结构而不是Package Explorer
默认设置提供的扁平外观,有没有办法做到这一点?
我正在研究Android应用程序(显然是Java),最近我更新了我的UDP阅读器代码.在这两个版本中,我设置了一些缓冲区并接收UDP数据包:
byte[] buf = new byte[10000];
short[] soundData = new short[1000];
DatagramPacket packet = new DatagramPacket (buf, buf.length);
socket.receive (packet);
Run Code Online (Sandbox Code Playgroud)
在初始版本中,我将数据一次放回一个字节(实际上是16个PCM音频数据):
for (int i = 0; i < count; i++)
soundData[i] = (short) (((buf[k++]&0xff) << 8) + (buf[k++]&0xff));
Run Code Online (Sandbox Code Playgroud)
在更新的版本中,我使用了一些我开始时不知道的很酷的Java工具:
bBuffer = ByteBuffer.wrap (buf);
sBuffer = bBuffer.asShortBuffer();
sBuffer.get (soundData, 0, count);
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,"计数"正在正确填充(我检查过).然而,我的流媒体音频似乎出现了新的问题 - 也许它的处理速度不够快 - 这对我来说没有任何意义.显然,缓冲区代码正在编译成三个以上的JVM代码语句,但是当我开始这个时,第二个版本会比第一个版本更快,这似乎是一个合理的假设.
很明显,我并不是说我的代码必须使用Java NIO缓冲区,但至少乍一看,它看起来似乎很难做到这一点.
任何人都有一个快速,简单的Java UDP阅读器的建议,以及是否有一个普遍接受的"最佳方式"?
谢谢,R.
java ×8
.net ×1
algorithm ×1
android ×1
arraylist ×1
bytebuffer ×1
eclipse ×1
extend ×1
geometry ×1
if-statement ×1
nio ×1
package ×1
quicksort ×1
readability ×1