很麻煩,屏幕保護程序,是一定格式的.exe文件來的。JAVA程序要轉(zhuǎn)成純.exe還有些困難。
目前創(chuàng)新互聯(lián)已為1000多家的企業(yè)提供了網(wǎng)站建設、域名、虛擬主機、網(wǎng)站托管、服務器托管、企業(yè)網(wǎng)站設計、惠山網(wǎng)站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
自己寫一個.exe根據(jù)不同的參數(shù)啟動JAVA程序,還可以。
package?com.ict.dto;
/**
*?Created?by?chenlong?on?2017/7/6.
*?Info:
*/
public?class?Point?{
public?double?lon;
public?double?lat;
public?Point(double?lon,?double?lat)?{
this.lon?=?lon;
this.lat?=?lat;
}
public?double?getLon()?{
return?lon;
}
public?void?setLon(double?lon)?{
this.lon?=?lon;
}
public?double?getLat()?{
return?lat;
}
public?void?setLat(double?lat)?{
this.lat?=?lat;
}
}??
private?int?R=6371000;//地球半徑
public?double?getDistance(Point?p1,Point?cirp2){
double?rad=Math.PI/180;
double?lat1=p1.getLat()*rad;
double?lat2=cirp2.getLat()*rad;
double?a=Math.sin(lat1)*Math.sin(lat2)+Math.cos(lat1)*Math.cos(lat2)*Math.cos((cirp2.getLon()-p1.getLon())*rad);
double?distance=R*Math.acos((Math.min(a,1)));
return?distance;
}
import java.awt.*;
import java.io.File;code_br_import java.io.IOException;code_br_import java.applet.*;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class TestRunnable extends Applet implements Runnable{
Thread Thread;
public Image image = null;
public int t = 0;
public void start(){
Thread = new Thread(this);
Thread.start();
}
public void run(){
while(true){
this.setSize(1000, 600);
repaint();
try{
Thread.sleep(100);
}catch(InterruptedException e){
e.printStackTrace();
}
}
}
public void paint(Graphics g){
try {
image = ImageIO.read(new File("E:/zp/" + t + ".png"));
t = (t + 1) % 110 ;
g.drawImage(image, 0, 0, getWidth(), getHeight(), null);
} catch (IOException e) {
e.printStackTrace();
}
}
}
1. 這不是用球坐標就好了嘛.
好我再看看google是什么東西再補.
2. EARTH_RADIUS;是地球半徑.
rad好像是把經(jīng)緯度轉(zhuǎn)弧度的....不看google和.
就是球坐標的r,θ,φ. 明白就好.
緯度同.用經(jīng)度差乘地球半徑
經(jīng)度同.用緯度差乘地球半徑...
等再看下google,再補.
3. 你的double s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2)+ Math.cos(radLat1) * Math.cos(radLat2)* Math.pow(Math.sin(b / 2), 2)));
是不是錯了.經(jīng)緯度不對稱啊.
4.你的問題已經(jīng)解決,明確google的算法同樣按球坐標來考慮,不過球坐標的φ是和z的夾角,而緯度是和赤道(Oxy平面)的夾角.
1.
創(chuàng)建一個記事本
2.
在記事本中輸入
java love1
然后另存為love1.bat
3.
然后把這個bat文件和你的這個類編譯后的class文件都丟到桌面上
4.
雙擊運行bat文件
PS:如果你要想做成桌面exe,可以使用exe4j來打包,不過exe一般是針對有界面的cs程序
距離可以用r*arccos[cos(y1)*cos(y2)*cos(x1x2)+sin(y1)*sin(y2)]來算
r是地球半徑6370km,x是經(jīng)度,y是緯度
注意角度單位的轉(zhuǎn)換。Math類里的sin和cos函數(shù)的參數(shù)是以弧度為單位的角度,所以x1、x2、y1、y2要用弧度表示,但一般經(jīng)緯度都是用角度表示(如X1=120 東經(jīng)120度)就要化成弧度(x1*Pi/180)
而acos函數(shù)返回值正好是以弧度為單位的,剛好符合要求
如果你的代碼里的lat1、lat2、lon1、lon2單位是角度,可以這么改
double radius=6371000;
double distance=radius*Math.acos((Math.cos(lat2*Math.PI/180)*Math.cos(lat2*Math.PI/180)*Math.cos(lon1*Math.PI/180-lon2*Math.PI/180)+Math.sin(lat1*Math.PI/180)*Math.sin(lat2*Math.PI/180)));
我算出來是903.9千米
分享標題:桌面地球java代碼,java月亮圍繞地球代碼
分享鏈接:http://sd-ha.com/article42/hdhehc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供虛擬主機、網(wǎng)站改版、定制網(wǎng)站、云服務器、ChatGPT、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)