本文目錄一覽:
- 1、如何將這個 Javascript 代碼轉換為 Java
- 2、如何將javascript代碼編譯為c++或java
- 3、一個js方法轉換為java代碼
- 4、js轉java代碼
- 5、js代碼轉換為java
- 6、如何將這些JS代碼轉換成JAVA代碼
如何將這個 Javascript 代碼轉換為 Java
做不到. java和js僅僅是名字和語法長得有點像, 但兩者是完全獨立的兩種語言, 兩者的功能和基礎api都完全不同. 這意味着你想把js代碼移植到java里不僅僅是要進行語法上的翻譯, 還要把js里的各種基本函數都在java里實現一次, 例如你給的鏈接里的圖形顯示js是利用操作html元素和css實現的, 而在java里根本沒有這種東西, 想實現相同的功能基本要完全重寫
java也可以在網頁上調用js, 但既然這裡已經用js都實現了, 再用java包一遍並沒有意義
如何將javascript代碼編譯為c++或java
java是不能夠編譯C/C++文件的。他們原理完全不同。背後的運行機制也完全不一樣。
C/C++源文件只能夠用C/C++的編譯器來編譯。
以GCC編譯器為例,整個編譯可以分為四步。
第一步是預處理,包括語法檢查等工作。
gcc -P abc.c
第二步由源程序生產彙編語言代碼。
gcc -S abc.c
會生成abc.s文件,這個文件里就是彙編代碼。
第三步編譯器生成目標代碼,一個源文件生成一個目標代碼。
gcc -c abc.c
會生成abc.o
第四步連接器從目標代碼生成可執行文件。
gcc abc.o
目標代碼包括機器碼和符號表(函數及變量名)。連接器的主要作用是通過符號表在庫文件和其他模塊中找到在目標代碼中引入或未定義的符號(函數及變量名),將幾個目標代碼合成可執行文件。
一個js方法轉換為java代碼
package p1;
import java.util.Arrays;
import java.util.LinkedList;
public class Guy
{
public static void recursionSub ( LinkedListint[] list, int count, int[] array, int ind, int start, int… indexs )
{
start++;
if (start count – 1)
{
return;
}
if (start == 0)
{
indexs = new int[array.length];
}
for ( indexs = ind; indexs array.length; indexs++ )
{
recursionSub (list, count, array, indexs + 1, start, indexs);
if (start == count – 1)
{
int[] temp = new int[count];
for ( int i = count – 1; i = 0; i– )
{
temp[start – i] = array[indexs[start – i]];
}
list.add (temp);
}
}
}
public static void main ( String[] args )
{
int[] array = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
LinkedListint[] list = new LinkedListint[] ();
recursionSub (list, 3, array, 0, -1);
for ( int[] strings : list )
{
System.out.println (Arrays.toString (strings));
}
}
}
js轉java代碼
package p1;
import java.util.Arrays;
import java.util.LinkedList;
public class Guy
{
public static void recursionSub ( LinkedListint[] list, int count, int[] array, int ind, int start, int… indexs )
{
start++;
if (start count – 1)
{
return;
}
if (start == 0)
{
indexs = new int[array.length];
}
for ( indexs = ind; indexs array.length; indexs++ )
{
recursionSub (list, count, array, indexs + 1, start, indexs);
if (start == count – 1)
{
int[] temp = new int[count];
for ( int i = count – 1; i = 0; i– )
{
temp[start – i] = array[indexs[start – i]];
}
list.add (temp);
}
}
}
public static void main ( String[] args )
{
int[] array = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
LinkedListint[] list = new LinkedListint[] ();
recursionSub (list, 3, array, 0, -1);
for ( int[] strings : list )
{
System.out.println (Arrays.toString (strings));
}
}
}
js代碼轉換為java
理解他的原理就好寫了。
所有參數 排除 時間戳,按照字母順序排序,然後連接起來 和 appKey 以及 appSercet 進行md5 運算。
排序可以使用 String []keys = map.keyset().toarray() 獲取後使用 Collections 進行sort。
有個類似的,可以參考一下:
public static boolean signVerify(String appSecret,MapString, String params){
MapString, String map=new HashMapString, String();
map.put(“appSecret”, appSecret);
for(String key:params.keySet()){
if(!key.equals(“sign”)){
map.put(key, params.get(key));
}
}
String sign=sign(map);
if(sign.equals(params.get(“sign”))){
return true;
}
return false;
}
private static String toHexValue(byte[] messageDigest) {
if (messageDigest == null)
return “”;
StringBuilder hexValue = new StringBuilder();
for (byte aMessageDigest : messageDigest) {
int val = 0xFF aMessageDigest;
if (val 16) {
hexValue.append(“0”);
}
hexValue.append(Integer.toHexString(val));
}
return hexValue.toString();
}
/**
*
* @param params
* @return
*/
public static String sign(MapString,String params){
ListString keys=new ArrayListString(params.keySet());
Collections.sort(keys);
String string=””;
for(String s:keys){
string+=params.get(s);
}
String sign=””;
try {
sign = toHexValue(encryptMD5(string.getBytes(Charset.forName(“utf-8”))));
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException(“md5 error”);
}
return sign;
}
private static byte[] encryptMD5(byte[] data)throws Exception{
MessageDigest md5 = MessageDigest.getInstance(“MD5”);
md5.update(data);
return md5.digest();
}
public static void main(String[] args) {
String appKey=”key”;
String appSecret=”secret”;
MapString, String params=new HashMapString, String();
params.put(“appKey”, appKey);
params.put(“appSecret”, appSecret);
params.put(“date”, new Date().getTime()+””);
String sign=sign(params);
params.put(“sign”, sign);
System.out.println(signVerify(appSecret, params));
}
如何將這些JS代碼轉換成JAVA代碼
javascript 和java都不是一個道理的,不是說轉換就可以的,為什麼很多人喜歡跨語言轉換代碼,你們為什麼不能這樣問呢:如何用java來實現某種功能,豈不是更好?
原創文章,作者:CGKN,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/146580.html