javaAint
㈠ java題: 用戶輸入一個十進制數,轉換成二進制數後輸出
import java.util.*;
public class Test {
public static void main(String[] args) {
Scanner san = new Scanner(System.in);
int aint = 0;
System.out.print("請輸入一個整數: ");
aint = san.nextInt();
System.out.println(aint + "的二進製表示為: " + Integer.toBinaryString(aint));
}
}
㈡ java 只有方法的類
看你的方法是否需要多處使用,還有在不同的地方,實現的功能是否要求一致。
設計是要根據你的需求來做的,沒有好不好,只有合適不合適。
大部分來說還是優先考慮介面,不是特殊情況下不要使用繼承
㈢ java clone方法 怎麼用
什麼是"clone"?
在實際編程過程中,我們常常要遇到這種情況:
有一個對象A,在某一時刻A中已經包含了一些有效值,此時可能會需要一個和A完全相同新對象B,並且此後對B任何改動都不會影響到A中的值,也就是說,A與B是兩個獨立的對象,但B的初始值是由A對象確定的。在 Java語言中,用簡單的賦值語句是不能滿足這種需求的。要滿足這種需求雖然有很多途徑,但實現clone()方法是其中最簡單,也是最高效的手段。
Java的所有類都默認繼承java.lang.Object類,在java.lang.Object類中有一個方法clone()。JDK API的說明文檔解釋這個方法將返回Object對象的一個拷貝。
要說明的有兩點:
一是拷貝對象返回的是一個新對象,而不是一個引用。
二是拷貝對象與用 new操作符返回的新對象的區別就是這個拷貝已經包含了一些原來對象的信息,而不是對象的初始信息。
怎樣應用clone()方法?
一個很典型的調用clone()代碼如下:
{
publicintaInt;
publicObjectclone(){
CloneClasso=null;
try{
o=(CloneClass)super.clone();
}catch(CloneNotSupportedExceptione){
e.printStackTrace();
}
returno;
}
}
有三個值得注意的地方,
一是希望能實現clone功能的CloneClass類實現了Cloneable介面,這個介面屬於java.lang 包,java.lang包已經被預設的導入類中,所以不需要寫成java.lang.Cloneable。
另一個值得請注意的是重載了clone()方 法。
最後在clone()方法中調用了super.clone(),這也意味著無論clone類的繼承結構是什麼樣的,super.clone()直接或 間接調用了java.lang.Object類的clone()方法。下面再詳細的解釋一下這幾點。
應該說第三點是最重要的,仔細觀察一下Object類的clone()一個native方法,native方法的效率一般來說都是遠高於java中的非native方法。這也解釋了為 什麼要用Object中clone()方法而不是先new一個類,然後把原始對象中的信息賦到新對象中,雖然這也實現了clone功能。對於第二點,也要 觀察Object類中的clone()還是一個protected屬性的方法。這也意味著如果要應用clone()方法,必須繼承Object類,在 Java中所有的類是預設繼承Object類的,也就不用關心這點了。然後重載clone()方法。還有一點要考慮的是為了讓其它類能調用這個clone 類的clone()方法,重載之後要把clone()方法的屬性設置為public。
那麼clone類為什麼還要實現 Cloneable介面呢?稍微注意一下,Cloneable介面是不包含任何方法的!其實這個介面僅僅是一個標志,而且這個標志也僅僅是針對 Object類中clone()方法的,如果clone類沒有實現Cloneable介面,並調用了Object的clone()方法(也就是調用了 super.Clone()方法),那麼Object的clone()方法就會拋出CloneNotSupportedException異常。
㈣ Java中是如何實現克隆
java 實現clone對象方法的步驟如下:
(1)實現Cloneable介面
(2)重載Object類中的clone()方法,重載時需定義為public
(3)在重載方法中,調用super.clone()
例如:
class CloneClass implements Cloneable {
public int aInt;
public Object clone() {
CloneClass o = null;
try {
o = (CloneClass) super.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
return o;
}
㈤ java讀入數據(基本數據類型)比如int,double不使用scanner使用bufferedreader等其他讀入的方法。
importjava.io.BufferedReader;
importjava.io.BufferedWriter;
importjava.io.FileReader;
importjava.io.FileWriter;
importjava.io.IOException;
importjava.io.PrintWriter;
/*
*需求:DataStreamDemo.java復制到Copy.java中
*數據源:
* DataStreamDemo.java--讀取數據--FileReader--BufferedReader
*目的地:
* Copy.java--寫出數據--FileWriter--BufferedWriter--PrintWriter
*/
publicclassCopyFileDemo{
publicstaticvoidmain(String[]args)throwsIOException{
//以前的版本
//封裝數據源
//BufferedReaderbr=newBufferedReader(newFileReader(
//"DataStreamDemo.java"));
////封裝目的地
//BufferedWriterbw=newBufferedWriter(newFileWriter("Copy.java"));
//
//Stringline=null;
//while((line=br.readLine())!=null){
//bw.write(line);
//bw.newLine();
//bw.flush();
//}
//
//bw.close();
//br.close();
//列印流的改進版
//封裝數據源
BufferedReaderbr=newBufferedReader(newFileReader(
"DataStreamDemo.java"));
//封裝目的地
PrintWriterpw=newPrintWriter(newFileWriter("Copy.java"),true);
Stringline=null;
while((line=br.readLine())!=null){
pw.println(line);
}
pw.close();
br.close();
}
}
㈥ 怎麼用Java程序編寫個調查問卷
1------------------------------------------------------------------------------
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws IOException{
Scanner scan = new Scanner(System.in);
System.out.println("輸入一個整數:");
int num = scan.nextInt();
char[] numChar = Integer.toString(num).toCharArray();
for(int i = 0;i<numChar.length; i++) {
System.out.println(numChar[i]);
}
}
}
2-----------------------------------------------------
public class Text2 {
public static void main(String[] args) {
int j = 0, k = 0;
for (int i = 1 ; i <= 100; i++) {
if (i % 2 == 0) {
j += i ;
} else {
k += i;
}
}
System.out.println("偶數和為:" + j);
System.out.println("奇數和為:" + k);
}
}
3------------------------------------------------------------------------
import java.util.*;
public class Test {
public static void main(String[] args) {
Scanner san = new Scanner(System.in);
int aint = 0;
System.out.print("請輸入一個整數: ");
aint = san.nextInt();
System.out.println(aint + "的二進製表示為: " + Integer.toBinaryString(aint));
}
}
4--------------------------------------------------------------------------------
public class text {
public static void main(String args[]) {
text t = new text();
System.out.print(t.sum());
}
public int sum(){
int a = 0;
for(int i=1;i<=10;i++){
int b = 1;
for (int j = 1; j <=i; j++) {
b = b*j;
}
a=a+b;
}
return a;
}
}
4.2----------------------------------------------------------
import java.io.*;
public class jiecheng
{
public static long fac(int n)
{long res=1;
for(int k=2;k<=n;k++)
res*=k;
return res;}
public static void main(String args[]) throws IOException
{long sum=0;int i=1,n=20;
for(i=1;i<=n;i++)
sum+=fac(i);
System.out.println("前"+n+"項階乘的為:"+sum);
}
}
5--------------------------------------------------------------------------
public class Dy3 {
public static void main(String[] args) {
int sum = 0 ;//素數和
String s="";//素數
boolean y = true ;
for(int i = 100 ; i <= 1000 ; i++){
y=true;//為每個數初始化y為真
for(int j = 2 ; j < i ; j++){
if(i % j == 0){
y = false;//被除了1和本身以外的數整除為false
break;
}
}
if(y)
{
s+=i+" ";
sum+=i;
}
}
System.out.println("素數為:"+s);
System.out.println("素數和為:"+sum);
}
}
6--------------------------------------------------------------
public class Demo{
public static void main(String args[]){
int i,j;
for(i=1;i<10;i++)
{
for(j=1;j<=i;j++) //此處如果想輸入完全的9x9則將j<=i改為j<10
{
System.out.print(j+"*"+i+"="+i*j+"\t");
}
System.out.println();
}
}
}