package ascdemo;
創(chuàng)新互聯(lián)不只是一家網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司;我們對營銷、技術(shù)、服務(wù)都有自己獨特見解,公司采取“創(chuàng)意+綜合+營銷”一體化的方式為您提供更專業(yè)的服務(wù)!我們經(jīng)歷的每一步也許不一定是最完美的,但每一步都有值得深思的意義。我們珍視每一份信任,關(guān)注我們的網(wǎng)站設(shè)計、網(wǎng)站建設(shè)質(zhì)量和服務(wù)品質(zhì),在得到用戶滿意的同時,也能得到同行業(yè)的專業(yè)認可,能夠為行業(yè)創(chuàng)新發(fā)展助力。未來將繼續(xù)專注于技術(shù)創(chuàng)新,服務(wù)升級,滿足企業(yè)一站式成都營銷網(wǎng)站建設(shè)需求,讓再小的高端網(wǎng)站設(shè)計也能產(chǎn)生價值!
public class AscDemo {
/**
* @param args
*/
public static int test(int x){
int y;
if (x0){
y = x+3;
return y;
} else{
if(x == 0){
y = 0;
return y;
} else{
y = x*x-1;
return y;
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int y = test(111);
System.out.println(y);
y=test(0);
System.out.println(y);
y=test(-2);
System.out.println(y);
}
}
java課程設(shè)計題目及代碼分別是:
1、題目:計算器。設(shè)計內(nèi)容是設(shè)計一個圖形界面(GUI)的計算器應(yīng)用程序,完成簡單的算術(shù)運算。
設(shè)計要求是設(shè)計的計算器應(yīng)用程序可以完成家法、減法、乘法、除法和取余運算。且有小數(shù)點、正負號、求倒數(shù)、退格和清零功能。
2、代碼:
數(shù)字按鈕NumberButton類如下:
import java.awt.
import java.awt.event.
import javax.swing.
public class NumberButton extends Button.
{
int number.
public NumberButton(int number).
{
super(""+number).
this.number=number.
setForeground(Color.blue).
}
public int getNumber().
{
return number;
}
}
其它java課程設(shè)計題目及代碼是:
題目:華容道。編寫一個按鈕的子類,使用該子類創(chuàng)建的對象代表華容道中的人物。通過焦點事件控制人物顏色,當(dāng)人物獲得焦點時顏色為藍色,當(dāng)失去焦點時顏色為灰色。
通過鍵盤事件和鼠標事件來實現(xiàn)曹操、關(guān)羽等人物的移動。當(dāng)人物上發(fā)生鼠標事件或鍵盤事件時,如果鼠標指針的位置是在人物的下方(也就是組件的下半部分)或按下鍵盤的“↓“鍵,該人物向下移動。向左、向右和向上的移動原理類似。
代碼是:
String name[]={"曹操","關(guān)羽","張","劉","馬","許","兵","兵","兵","兵"}.
for(int i=0;iname.length;i++).
{
person[i]=new Person(i,name[i]).
person[i].addKeyListener(this).
person[i].addMouseListener(this).
//? ? ?person[i].addFocusListener(new Person).
add(person[i]).
}
person[0].setBounds(104,54,100,100).
person[1].setBounds(104,154,100,50).
person[2].setBounds(54,154,50,100).
person[3].setBounds(204,154,50,100).
person[4].setBounds(54,54,50,100).
person[5].setBounds(204,54,50,100);
person[6].setBounds(54,254,50,50);
person[7].setBounds(204,254,50,50);
person[8].setBounds(104,204,50,50);
person[9].setBounds(154,204,50,50);
按照題目要求編寫的用javaBean規(guī)范設(shè)計的學(xué)生類Student的Java程序如下
需要創(chuàng)建user.java.test包,把Student.java文件和Test.java文件放入包中,編譯Student.java文件并且編譯運行Test.java文件得到運行結(jié)果
Student.java文件代碼如下
package user.java.test;
import java.io.Serializable;
public class Student implements Serializable{
private static final long serialVersionUID = 1L;
private String no;
private String name;
private double score;
public Student(){}
public Student(String no,String name,double score){
this.no=no;
this.name=name;
this.score=score;
}
public String getNo(){ return no;}
public void setNo(String no){ this.no=no;}
public String getName(){ return name;}
public void setName(String name){ this.name=name;}
public double getScore(){ return score;}
public void setScore(double score){ this.score=score;}
public String toString(){
return "學(xué)號:"+no+",姓名:"+name+",成績:"+score;
}
public static double getAvg(Student[] sArray){
double sum=0,avg;
for(int i=0;isArray.length;i++){
sum=sum+sArray[i].getScore();
}
avg=sum/sArray.length;
return avg;
}
}
Test.java文件代碼如下
package user.java.test;
public class Test{
public static void main(String[] args){
Student[] sArray=new Student[5];
sArray[0]=new Student("001","張三",89.5);
sArray[1]=new Student("002","李四",82.5);
sArray[2]=new Student("003","王五",93);
sArray[3]=new Student("004","趙六",73.5);
sArray[4]=new Student("005","孫七",66);
System.out.println("這些學(xué)生的平均分:"+Student.getAvg(sArray));
for(int i=0;isArray.length;i++){
System.out.println(sArray[i].toString());
}
}
}
我有
Java面向?qū)ο蟪绦蛟O(shè)計
清華大學(xué)出版社
(編著 耿祥義 張躍平)
習(xí)題解答
建議使用文檔結(jié)構(gòu)圖
(選擇Word菜單→視圖→文檔結(jié)構(gòu)圖)
習(xí)題1
1.James Gosling
2.
(1)使用一個文本編輯器編寫源文件。
(2)使用Java編譯器(javac.exe)編譯Java源程序,得到字節(jié)碼文件。
(3)使用Java解釋器(java.exe)運行Java程序
3.Java的源文件是由若干個書寫形式互相獨立的類組成的。
應(yīng)用程序中可以沒有public類,若有的話至多可以有一個public類。
4.系統(tǒng)環(huán)境path D\jdk\bin;
系統(tǒng)環(huán)境classpath D\jdk\jre\lib\rt.jar;.;
5. B
6. Java源文件的擴展名是.java。Java字節(jié)碼的擴展名是.class。
7. D
8.(1)Speak.java
(2)生成兩個字節(jié)碼文件,這些字節(jié)碼文件的名字Speak.class 和 Xiti8.class
(3)java Xiti8
(4)執(zhí)行java Speak的錯誤提示
Exception in thread "main" java.lang.NoSuchMethodError: main
執(zhí)行java xiti8得到的錯誤提示
Exception in thread "main" java.lang.NoClassDefFoundError: xiti8 (wrong name: Xiti8)
執(zhí)行java Xiti8.class得到的錯誤提示
Exception in thread "main" java.lang.NoClassDefFoundError: Xiti8/class
執(zhí)行java Xiti8得到的輸出結(jié)果
I'm glad to meet you
9.屬于操作題,解答略。
習(xí)題2
1. D
2.【代碼1】 【代碼2】 錯誤 //【代碼3】更正為 float z=6.89F;
3.float型常量后面必須要有后綴“f”或“F”。
對于double常量,后面可以有后綴“d”或“D”,但允許省略該后綴。
4.public class Xiti4{
public static void main (String args[ ]){
char ch1='你',ch2='我',ch3='他';
System.out.println("\""+ch1+"\"的位置:"+(int)ch1);
System.out.println("\""+ch2+"\"的位置:"+(int)ch2);
System.out.println("\""+ch3+"\"的位置:"+(int)ch3);
}
}
5.?dāng)?shù)組名字.length
6.?dāng)?shù)組名字.length
7. 【代碼1】A,65
【代碼2】-127
【代碼3】 123456.783,123456.78312
8.
【代碼1】false
【代碼2】true
【代碼3】false
【代碼4】3
【代碼5】4.4
【代碼6】8.8
習(xí)題3
輸出110
if-else語句書寫的不夠規(guī)范,復(fù)合語句缺少大括號“{}”,代碼不夠清晰。
2.你好好酷!!
3.
public class Xiti3_3
{
public static void main (String args[ ]){
int startPosition=0,endPosition=0;
char cStart='а',cEnd='я';
startPosition=(int)cStart; //cStart做int型轉(zhuǎn)換據(jù)運算,并將結(jié)果賦值給startPosition
endPosition=(int)cEnd ; //cEnd做int型轉(zhuǎn)換運算,并將結(jié)果賦值給endPosition
System.out.println("俄文字母表:");
for(int i=startPosition;i=endPosition;i++){
char c='\0';
c=(char)i; //i做char型轉(zhuǎn)換運算,并將結(jié)果賦值給c
System.out.print(" "+c);
if((i-startPosition+1)%10==0)
System.out.println("");
}
}
}
4.
public class Xiti4
{ public static void main(String args[])
{ double sum=0,a=1;
int i=1;
while(i=20)
{ sum=sum+a;
i++;
a=a*i;
}
System.out.println("sum="+sum);
}
}
5.
class Xiti5
{ public static void main(String args[])
{ int i,j;
for(j=2;j=100;j++)
{ for(i=2;i=j/2;i++)
{ if(j%i==0)
break;
}
if(ij/2)
{ System.out.print(" "+j);
}
}
}
}
6.
class Xiti6
{ public static void main(String args[])
{ double sum=0,a=1,i=1;
while(i=20)
{ sum=sum+a;
i++;
a=(1.0/i)*a;
}
System.out.println("使用while循環(huán)計算的sum="+sum);
for(sum=0,i=1,a=1;i=20;i++)
{ a=a*(1.0/i);
sum=sum+a;
}
System.out.println("使用for循環(huán)計算的sum="+sum);
}
}
7.
public class Xiti7
{ public static void main(String args[])
{ int sum=0,i,j;
for(i=1;i=1000;i++)
{ for(j=1,sum=0;ji;j++)
{ if(i%j==0)
sum=sum+j;
}
if(sum==i)
System.out.println("完數(shù):"+i);
}
}
}
8.方法之一
import java.util.Scanner;
public class Xiti8
{ public static void main (String args[ ]){
System.out.println("請輸入兩個非零正整數(shù),每輸入一個數(shù)回車確認");
Scanner reader=new Scanner(System.in);
int m=0,n=0,temp=0,gy=0,gb=0,a,b;
a=m = reader.nextInt();
b=n = reader.nextInt();
if(mn)
{ temp=m;
m=n;
n=temp;
}
int r=m%n;
while(r!=0)
{ n=m;
m=r;
r=m%n;
}
gy=n;
gb=a*b/gy;
System.out.println("最大公約數(shù) :"+gy);
System.out.println("最小公倍數(shù) :"+gb);
}
}
8.方法之二
import java.util.Scanner;
public class Xiti8 {
public static void main (String args[ ]){
System.out.println("請輸入兩個非零正整數(shù),每輸入一個數(shù)回車確認");
Scanner reader=new Scanner(System.in);
int m=0,n=0,t=0,gy=0,gb=0;
m = reader.nextInt();
n = reader.nextInt();
if(mn){
t=m;
m=n;
n=t;
}
for(int i=1;i=m;i++){
if(m%i==0 n%i==0){
gy=i;
}
}
gb=m*n/gy;
System.out.println(m+","+n+"的最大公約數(shù)為 "+gy);
System.out.println(m+","+n+"的最小公倍數(shù)為 "+gb);
}
}
9.
public class Xiti9
{ public static void main(String args[])
{ int n=1;
long sum=0,t=1;
t=n*t;
while(true)
{ sum=sum+t;
if(sum9999)
break;
n++;
t=n*t;
}
System.out.println("滿足條件的最大整數(shù):"+(n-1));
}
}// 1至7的階乘和是sum=5913.0 // 1至8的階乘和是sum=46233.0
習(xí)題4
1.用該類創(chuàng)建對象時。
2.所謂方法重載是在一個類中可以有多個方法具有相同的名字,但這些方法的參數(shù)必須不同,即或者是參數(shù)的個數(shù)不同,或者是參數(shù)的類型不同。構(gòu)造方法可以重載。
3. 可以。不可以。
4.不可以。
5.成員變量又分為實例變量和類變量,用static修飾的變量是類變量。那么類變量和實例變量有什么區(qū)別呢?一個類通過使用new運算符可以創(chuàng)建多個不同的對象,不同的對象的實例變量將被分配不同的內(nèi)存空間;如果類中的成員變量有類變量,那么所有對象的這個類變量都分配給相同的一處內(nèi)存,改變其中一個對象的這個類變量會影響其它對象的這個類變量。也就是說對象共享類變量。
6.C,D
7.【代碼1】,【代碼4】
8.sum=-100
9.27
10. **20
##100
習(xí)題5
1. 如果子類和父類在同一個包中,那么子類自然地繼承了其父類中不是private的成員變量作為自己的成員變量,并且也自然地繼承了父類中不是private的方法作為自己的方法。繼承的成員或方法的訪問權(quán)限保持不變。如果子類和父類不在同一個包中,那么子類繼承了父類的protected、public成員變量做為子類的成員變量,并且繼承了父類的protected、public方法為子類的方法,繼承的成員或方法的訪問權(quán)限保持不變。如果子類和父類不在同一個包里,子類不能繼承父類的友好變量和友好方法。
只要子類中聲明的成員變量和父類中的成員變量同名時,子類就隱藏了繼承的成員變量。
子類中定義一個方法,這個方法的類型和父類的方法的類型一致或者是父類的方法的類型的子類型,并且這個方法的名字、參數(shù)個數(shù)、參數(shù)的類型和父類的方法完全相同,子類如此定義的方法稱作子類重寫的方法。子類通過方法的重寫可以隱藏繼承的方法。
2.不可以。
3.a(chǎn)bstract類。
4.假設(shè)B類是A類子類或間接子類,當(dāng)我們用子類B創(chuàng)建一個對象,并把這個對象的引用放到A類的對象中時,稱這個A類對象是子類對象的上轉(zhuǎn)型對象。
5.可以把實現(xiàn)某一接口的類創(chuàng)建的對象的引用賦給該接口聲明的接口變量中。那么該接口變量就可以調(diào)用被類實現(xiàn)的接口中的方法。
6.A,C,D
7.15.0
8.0
8.98.0
12
9.
class A
{ public final void f()
{ char cStart='a',cEnd='z';
for(char c=cStart;c=cEnd;c++)
{ System.out.print(" "+c);
}
}
}
class B extends A
{ public void g()
{ char cStart='α',cEnd='ω';
for(char c=cStart;c=cEnd;c++)
{ System.out.print(" "+c);
}
}
}
public class Xiti9
{ public static void main (String args[ ])
{ B b=new B();
b.f();
b.g();
}
}
10.
class A
{ public int f(int a,int b){
if(ba)
{ int temp=0;
temp=a;
a=b;
b=temp;
}
int r=b%a;
while(r!=0)
{ b=a;
a=r;
r=b%a;
}
return a;
}
}
class B extends A
{ public int f(int a,int b)
{ int division=super.f(a,b);
return (a*b)/division;
}
}
public class Xiti10
{ public static void main (String args[ ])
{ A a=new A();
B b=new B();
System.out.println("最大公約數(shù) :"+a.f(36,24));
System.out.println("最小公倍數(shù) :"+b.f(36,24));
}
}
習(xí)題6
1.仍然有效。
2.可以。
3.不可以。
4.大家好,祝工作順利!
5. 96
乘數(shù)超過99
習(xí)題7
1.
(1)Strategy是接口。
(2)Army不是抽象類。
(3)Army和Strategy是關(guān)聯(lián)關(guān)系。
(4)StrategyA, StrategyB、StrategyC與Strategy是實現(xiàn)關(guān)系。
2.
3.
4.例子13的設(shè)計符合開-閉原則。
5.例子17的設(shè)計符合開-閉原則。
習(xí)題8
采用新增的策略為選手計算得分。
增加新的具體策略StrategyFour。StrategyFour類將double computeScore(double [] a)方法實現(xiàn)為去掉數(shù)組a的元素中的一個最大值和一個最小值,然后計算剩余元素的幾何平均值。
import java.util.Arrays;
public class StrategyFour implements ComputableStrategy {
public double computeScore(double [] a) {
if(a.length=2)
return 0;
double score=0,multi=1;
Arrays.sort(a);
int n=a.length-2;
for(int i=1;ia.length-1;i++) {
multi=multi*a[i];
}
score=Math.pow(multi,1.0/n);
return score;
}
}
2.
(1)策略(Strategy)PrintCharacter.java
public interface PrintCharacter{
public abstract void printTable(char [] a,char[] b);
}
(2) 具體策略
PrintStrategyOne.java
public class PrintStrategyOne implements PrintCharacter {
public void printTable(char [] a,char[] b) {
for(int i=0;ia.length;i++) {
System.out.print(a[i]+",");
}
for(int i=0;ib.length;i++) {
System.out.print(b[i]+",");
}
System.out.println("");
}
}
PrintStrategyTwo.java
public class PrintStrategyTwo implements PrintCharacter {
public void printTable(char [] a,char[] b) {
for(int i=0;ia.length;i++) {
System.out.print(b[i]+","+a[i]+",");
}
}
}
(3)上下文 PrintGame.java
public class PrintGame {
PrintCharacter strategy;
public void setStrategy(PrintCharacter strategy) {
this.strategy=strategy;
}
public void getPersonScore(char[] a,char[] b){
if(strategy==null)
System.out.println("sorry!");
else
strategy.printTable(a,b);
}
}
應(yīng)用以上策略:
public class Application {
public static void main(String args[]) {
char [] a=new char[26];
char [] b=new char[26];
for(int i=0;i=25;i++){
a[i]=(char)('a'+i);
}
for(int i=0;i=25;i++){
b[i]=(char)('A'+i);
}
PrintGame game=new PrintGame(); //上下文對象
game.setStrategy(new PrintStrategyOne()); //上下文對象使用策略一
System.out.println("方案1:");
game.getPersonScore(a,b);
game.setStrategy(new PrintStrategyTwo()); //上下文對象使用策略二
System.out.println("方案2:");
game.getPersonScore(a,b);
}
}
3.參照本章8.3.3自主完成。
習(xí)題9
1.A,B,D
2. Love:Game
3.13
abc夏日
4.13579
5.9javaHello
6.
public class Xiti6 {
public static void main (String args[ ]) {
String s1,s2,s3,t1="ABCDabcd";
System.out.println("字符串原來是這個樣子: "+t1);
s1=t1.toUpperCase();
System.out.println("字符串中的小寫字母變成大寫是這個樣子: "+s1);
s2=t1.toLowerCase();
System.out.println("字符串中的大寫字母變成小寫是這個樣子: "+s2);
s3=s1.concat(s2);
System.out.println("大寫字符串連接小寫字符串是這個樣子: "+s3);
}
}
7.
class Xiti7
{ public static void main(String args[ ])
{ String s ="中華人民共和國";
char a=s.charAt(0);
char b=s.charAt(6);
System.out.println("第一個字符: "+a);
System.out.println("最后一個字符: "+b);
}
}
8.
import java.util.*;
class Xiti8
{ public static void main(String args[]){
int year,month;
System.out.println("請輸入年份和月份,每輸入一個數(shù)回車確認");
Scanner reader=new Scanner(System.in);
year= reader.nextInt();
month= reader.nextInt();
String [] day=new String[42];
System.out.println(" 日 一 二 三 四 五 六");
Calendar rili=Calendar.getInstance();
rili.set(year,month-1,1);//將日歷翻到y(tǒng)ear年month月1日,注意0表示一月...11表示十二月
int 星期幾=rili.get(Calendar.DAY_OF_WEEK)-1;
int dayAmount=0;
if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)
dayAmount=31;
if(month==4||month==6||month==9||month==11)
dayAmount=30;
if(month==2)
if(((year%4==0)(year%100!=0))||(year%400==0))
dayAmount=29;
else
dayAmount=28;
for(int i=0;i星期幾;i++)
day[i]="";
for(int i=星期幾,n=1;i星期幾+dayAmount;i++){
if(n=9)
day[i]=String.valueOf(n)+" " ;
else
day[i]=String.valueOf(n);
n++;
}
for(int i=星期幾+dayAmount;i42;i++)
day[i]="";
for(int i=0;i星期幾;i++)
{ day[i]="**";
}
for(int i=0;iday.length;i++)
{ if(i%7==0)
{ System.out.println("");
}
System.out.print(" "+day[i]);
}
}
}
9.
import java.util.*;
class Xiti9
{ public static void main(String args[]){
int year1,month1,day1,year2,month2,day2;
Scanner reader=new Scanner(System.in);
System.out.println("請輸入第一個日期的年份 月份 日期 ,每輸入一個數(shù)回車確認");
year1= reader.nextInt();
month1= reader.nextInt();
day1= reader.nextInt();
System.out.println("請輸入第二個日期的年份 月份 日期 ,每輸入一個數(shù)回車確認");
year2= reader.nextInt();
month2= reader.nextInt();
day2= reader.nextInt();
Calendar calendar=Calendar.getInstance();
calendar.set(year1,month1,day1);
long timeYear1=calendar.getTimeInMillis();
calendar.set(year2,month2,day2);
long timeYear2=calendar.getTimeInMillis();
long 相隔天數(shù)=Math.abs((timeYear1-timeYear2)/(1000*60*60*24));
System.out.println(""+year1+"年"+month1+"月"+day1+"日和"+
year2+"年"+month2+"月"+day2+"日相隔"+相隔天數(shù)+"天");
}
}
全部都給你
希望那個可以幫助到你 祝你學(xué)習(xí)成功
右鍵單擊你的Planet.java程序,然后選擇 運行方式---》運行 配置====》在右邊的窗口上單擊(x) = 自變量-----》在程序自變量文本框右下有個變量===》編輯變量===》 新建===
名稱:arg[0] 值:175 確定 然后將增加的這個變量加到程序自變量文本框中 點調(diào)試就出來了。 這個就是運用了arg[]數(shù)組 通過控制臺輸入值