導航:首頁 > 編程語言 > javacchar

javacchar

發布時間:2022-06-16 04:28:11

① 大家好 我做了一個java文件用javac編譯也沒有報錯,但是就是不生成class文

我猜測是因為你定義了抬頭package文件,打個比方,你的package是

packagecom...charproblem;

那麼你要編譯話,要在下面的文件夾下編譯

C:Userssc47IdeaProjectsBaisrc>javac com\charproblemCharProblem.java


C:Userssc47IdeaProjectsBaisrc>java com...charproblem.CharProblem


A


C:Userssc47IdeaProjectsBaisrc>


② java中char能否存儲1個漢字

說的對,
short 16bit
int 32bit
char 16bit
long 64bit

16bit就是計算機中為char類型分配的空間為16位,就是用16二進制位來存儲char類型數據
8位是一個位元組 所以16bit是兩個位元組
而一個漢字佔2個位元組(2 Bytes),即16位(16 bits),每個位元組都以1開頭。
所以char可以存儲一個漢字

③ java中char c = '中';我的怎麼就不行 不是說Java是採用Unicode字元集嗎怎麼我這個就不行呢

編譯的時候沒有指定字元集,默認的是使用系統的格式,wind32的gbk格式,使用javac命令時可以指定編碼方式,避免了漢字不兼容的問題。 javac -encoding UTF-8 Exer02.java

④ java char顯示漢字出錯

樓主你好,
在java中,char類型 是占 兩個位元組的,而單個漢字 也是占兩個位元組,所有說char='國',是可以正常編譯的。 其他語言 可以有不同。
反正在我的eclipse 中 你上面的代碼 是完全沒問題的。

⑤ 在java中如何輸入一個char型字元。

方法一:

Scanner cin=new Scanner(System.in);

String s=cin.nextLine();

char ans=s.charAt(0);

這樣即可獲取一個字元。

方法二:

byte[] b=new byte[2];

try{

System.in.read(b)

}catch(Exception e){}

char ans=new String(b).charAt(0);

這樣即可獲取一個字元

⑥ java中 變數值像ok , yes 等單詞是char類型,還是String類型。為什麼總是無法通過編譯

System.out.print("ok");
string字元串使用雙引號,char字元用單引號,只有單個字元用char,所以這里只能用雙引號String類型

⑦ java char 輸入不能輸入中文

假設你的 Eclipse 的參數頁中 > General > Workspace 的字元集是 UTF-8,或者你的項目設定了字元集是 UTF-8 又或你的文件右鍵屬性中設定了字元集是 UTF-8。

J:\JavaEnv\J2SE7.X64\bin\javac -encoding UTF-8 A.java

如果這個代碼是你在記事本中寫的,那麼不應該碰到這個問題,因為 windows 記事本不會處理字元集的問題,只是用操作系統默認的。那就是說你是用了某種支持字元集切換的文本編輯器,比如 Eclipse/EditPlus 之類的,那麼你就把它切換回來,比如在 Eclipse 中,打開這個文件,Copy 這個文件的所有內容到剪貼板,Menu > Edit > Set Encoding > GB18030/GBK, 關閉這個文件,重新打開, Ctrl + V 把剪貼板的內容貼進來,保存,完成。

⑧ java char定義中文 編譯不了

nodepad++默認的編碼方式是ansi,你需要修改它默認的編碼方式,具體操作好像如下:設置→首選項→新建→編碼,選擇GBK或者UTF-8。這樣的話,你上面的代碼就可以直接編譯了。不需要設置字元集。

PS:第一個回復的javac-encoding=gbkabc.java,這條命令本身語法是正確的,但是應該是字元集不匹配所導致的編譯錯誤。

⑨ java 如何定義字元串變數

一、使用 String 類定義:

在 Java 中每個雙引號定義的字元串都是一個 String 類的對象。因此,可以通過使用 String 類的構造方法來創建字元串,該類位於 java.lang 包中,作用域是 final。

String 類的構造方法有多種重載形式,每種形式都可以定義字元串。下面介紹最常用的幾種形式。

1、 String()

初始化一個新創建的 String 對象,表示一個空字元序列。

2、String(String original)

初始化一個新創建的 String 對象,使其表示一個與參數相同的字元序列。換句話說,新創建的字元串是該參數字元串的副本。

3、String(char[ ]value)

分配一個新的字元串,將參數中的字元數組元素全部變為字元串。該字元數組的內容已被復制,後續對字元數組的修改不會影響新創建的字元串。

4、String(char[] value,int offset,int count)

分配一個新的 String,它包含來自該字元數組參數一個子數組的字元。offset 參數是子數組第一個字元的索引,count 參數指定子數組的長度。該子數組的內容已被賦值,後續對字元數組的修改不會影響新創建的字元串。

⑩ JAVA如何調用C函數

要在java中調用c語言的庫,需要使用Java提供了JNI。
舉例說明
在c語言中定義一個 void sayHello()函數(列印Hello World);然後在Java中調用這個函數顯示Hello Word.
現在分別從Java和C語言兩部分說明:
1. Java 部分
首先定義一個HelloNative,在其中申明sayHello函數,函數要申明為Native 類型的.如下:
public class HelloNative {
public native void sayHello();
}

編譯這個類,生成class文件:
javac HelloWorld.java

利用javah生成需要的h文件
javah HelloNative

生成的 h文件大概如下:

/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class HelloNative */

#ifndef _Included_HelloNative
#define _Included_HelloNative
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: HelloNative
* Method: sayHello
* Signature: ()V
*/
JNIEXPORT void JNICALL Java_HelloNative_sayHello
(JNIEnv *, jobject);

#ifdef __cplusplus
}
#endif
#endif

可以看一下上面自動生成的程序,程序include了jni.h,這個頭文件在 $JAVA_HOME下的include文件夾下. 還可以發現生成的函數名是在之前的函數名前面加上了Java_HelloNative。
2. C語言部分
根據上面生成的h文件編寫相應的代碼實現,建立一個 HelloNative.cpp用來實現顯示Hello World的函數.如下:

#include <stdio.h>
#include "HelloNative.h"

JNIEXPORT void JNICALL Java_HelloNative_sayHello(JNIEnv *, jobject)
{
printf("Hello World!\n");
}

代碼編寫完成之後,我們再用gcc編譯成庫文件,命令如下;
gcc -fPIC -I/usr/lib/jvm/java-7-openjdk-i386/include -I/usr/lib/jvm/java-7-openjdk-i386/include/linux -shared -o libHelloNative.so HelloNative.cpp

這樣就會在當前目錄下生成一個libHelloNative.so的庫文件.這時需要的庫已經生成,在C語言下的工作已經完成了.
接下來需要在Java中編寫一個程序測試一下.在程序前,需要將我們的庫載入進去.載入的方法是調用Java的 System.loadLibrary("HelloNative");

public class TestNative
{
static {
try {
System.loadLibrary("HelloNative");
}
catch(UnsatisfiedLinkError e) {
System.out.println( "Cannot load hello library:\n " + e.toString() );
}
}
public static void main(String[] args) {
HelloNative test = new HelloNative();
test.sayHello();
}
}

但是再編譯後,運行的時候,問題又出現了.
Cannot load hello library:
java.lang.UnsatisfiedLinkError: no HelloNative in java.library.path
Exception in thread "main" java.lang.UnsatisfiedLinkError: HelloNative.sayHello()V
at HelloNative.sayHello(Native Method)
at TestNative.main(TestNative.java:13)

載入庫失敗,但是庫明明就是放在當前文件夾下的,怎麼會載入失敗呢?
用System.getProperty("java.library.path")查看,發現java.library.path中並不u存在當前的目錄.主要有以下的幾個解決辦法:
1) 將生成的庫復制到java.library.path有的路徑中去,當然這樣不是很好
2) 設置環境變數export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH ,將當前的目錄加入到LD_LIBRARY_PATH中
3) 設置java 的選項,將當前的目錄加入到其中 .java -Djava.library.path=. $LD_LIBRARY_PATH
這樣之後程序就能夠成功的運行了.可以看見顯示的"Hello World!"了

閱讀全文

與javacchar相關的資料

熱點內容
樹莓派高級編程 瀏覽:928
30歲學編程晚嗎 瀏覽:68
解壓專家怎麼打開 瀏覽:86
php開源留言板 瀏覽:49
新鄉市區疫情怎麼查詢app 瀏覽:158
我的世界伺服器怎麼弄圖 瀏覽:999
vc6的編譯框 瀏覽:198
程序員寫照 瀏覽:539
怎麼退出github伺服器版本 瀏覽:797
雲伺服器sip 瀏覽:910
對稱平衡型壓縮機 瀏覽:953
rust連接什麼伺服器 瀏覽:382
php刪除數組的空元素 瀏覽:74
有什麼古今翻譯的app 瀏覽:54
華為平板里的app熱門推薦怎麼關閉 瀏覽:731
kindle可以看pdf嗎 瀏覽:620
小米文件夾變小 瀏覽:324
為什麼安卓系統不設計橫屏 瀏覽:686
myeclipse編譯文件 瀏覽:586
水果解壓視頻教程 瀏覽:207