java基礎編程題
先看下最終的結果吧,是不是你想要的?
其中,Student是父類,PostGraate是子類,繼承自父類Student,Main是主類,用於創建對象以及把這些對象的功能調用起來。
---------------------------Student代碼如下:------------------------------
/**
* 學生類
* @author 逍遙
*
*/
public class Student {
//學號
private int sId;
//姓名
private String sName;
//數學成績
private double mathScore;
//計算機成績
private double computerScore;
/**
* 獲取學號
* @return
*/
public int getsId() {
return sId;
}
/**
* 設置學號
* @param sId
*/
public void setsId(int sId) {
this.sId = sId;
}
/**
* 獲取姓名
* @return
*/
public String getsName() {
return sName;
}
/**
* 設置姓名
* @param sName
*/
public void setsName(String sName) {
this.sName = sName;
}
/**
* 獲取數學成績
* @return
*/
public double getMathScore() {
return mathScore;
}
/**
* 設置數學成績
* @param mathScore
*/
public void setMathScore(double mathScore) {
this.mathScore = mathScore;
}
/**
* 獲取計算機成績
* @return
*/
public double getComputerScore() {
return computerScore;
}
/**
* 設置計算機成績
* @param computerScore
*/
public void setComputerScore(double computerScore) {
this.computerScore = computerScore;
}
/**
* 輸出成員變數(4個成員變數)的信息。
*/
public void print(){
System.out.println("學號:"+sId);
System.out.println("姓名:"+sName);
System.out.println("計算機成績:"+mathScore);
System.out.println("數學成績:"+computerScore);
}
}
---------------------------Student代碼結束------------------------------
---------------------------PostGraate代碼如下:------------------------------
/**
* 研究生類
* @author 逍遙
*
*/
public class PostGraate extends Student{
//導師姓名
private String tName;
//研究方向
private String ResearchDirection;
/**
* 獲取導師姓名
* @return
*/
public String gettName() {
return tName;
}
/**
* 設置導師姓名
* @param tName
*/
public void settName(String tName) {
this.tName = tName;
}
/**
* 獲取研究方向
* @return
*/
public String getResearchDirection() {
return ResearchDirection;
}
/**
* 設置研究方向
* @param researchDirection
*/
public void setResearchDirection(String researchDirection) {
ResearchDirection = researchDirection;
}
/**
* 研究生類重寫父類的void print()方法,功能是輸出成員變數(6個成員變數)的信息
*/
@Override
public void print() {
// TODO Auto-generated method stub
super.print();
System.out.println("導師姓名:"+tName);
System.out.println("研究方向:"+ResearchDirection);
}
}
---------------------------PostGraate代碼結束------------------------------
---------------------------Main代碼如下:------------------------------
import java.util.Scanner;
/**
* 主類
* @author 逍遙
*
*/
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//用於獲取從鍵盤上輸入的信息
Scanner input=new Scanner(System.in);
//創建一個Student類的對象
Student student=new Student();
//從鍵盤上輸入其屬性信息
System.out.print("請輸入學生的學號:");
student.setsId(input.nextInt());
System.out.print("請輸入學生的姓名:");
student.setsName(input.next());
System.out.print("請輸入學生的數學成績:");
student.setMathScore(input.nextDouble());
System.out.print("請輸入學生的計算機成績:");
student.setComputerScore(input.nextDouble());
//並且通過其print方法輸出這些信息;
student.print();
//創建一個PostGraate類的對象
PostGraate postGraate=new PostGraate();
//從鍵盤上輸入其屬性信息
System.out.print("請輸入研究生的學號:");
postGraate.setsId(input.nextInt());
System.out.print("請輸入研究生的姓名:");
postGraate.setsName(input.next());
System.out.print("請輸入研究生的數學成績:");
postGraate.setMathScore(input.nextDouble());
System.out.print("請輸入研究生的計算機成績:");
postGraate.setComputerScore(input.nextDouble());
System.out.print("請輸入研究生的導師姓名:");
postGraate.settName(input.next());
System.out.print("請輸入研究生的研究方向:");
postGraate.setResearchDirection(input.next());
//並且通過其print方法輸出這些信息。
postGraate.print();
}
}
---------------------------Main代碼結束------------------------------
=================知識點的簡單總結=================
本題考察的知識點是面向對象的三大特性之一:繼承。
Student為父類,包含了學號、姓名、數學成績和計算機成績4個屬性,以及一個print()方法。
PostGraate 繼承父類的時候,繼承了父類中的所有方法,因為方法我都是用的public,而屬性繼承不了,因為我在父類中用了封裝,所有屬性都用private修飾了,想訪問屬性的話,必須通過get、set方法,這里,我重寫了父類中的print方法,通過super.print();調用了父類中的print()方法。
最後就是Main類,提供了main方法作為入口函數,用於按要求聲明這些對象以及去調用對象中的方法。
❷ 有關java編程題目
按照題目要求源晌編寫的圓,圓錐和測試類的Java程序如下
Test.java文件內容如下
class Circle{
private double r;
private String color;
public Circle(double r){
this.r=r;
}
public double area(){
return Math.PI*r*r;
}
public double perimeter(){
return Math.PI*2*r;
}
public double getR(){
return this.r;
}
public void setR(double r){
this.r=r;
}
public String getColor(){
return this.color;
}
public void setColor(String color){
this.color=color;
}
public String toString(){
return "圓的半徑為"+r+",顏色為"+color;
}
}
class Cone{
private Circle c;
private double h;
private String color;
public Cone(Circle c,double h){
this.c=c;
this.h=h;
}
public double volume(){
return 1.0/3*c.area()*h;
}
public Circle getCircle(){
return this.c;
}
public void setCircle(Circle c){
this.c=c;
}
public double getH(){
return this.h;
}
public void setH(double h){
this.h=h;
}
public String getColor(){
return this.color;
}
public void setColor(String color){
this.color=color;
}
public String toString(){
return "圓錐的底面積為"燃悔+c.area()+",高為"+h+",顏色為"+color;
}
}
public class Test{
public static void main(String[] args){
Circle circle1=new Circle(2.5);
circle1.setColor("紅色");
System.out.println(circle1.toString());
System.out.println("圓的面積為"+circle1.area());
System.out.println("圓的周雹段鋒長為"+circle1.perimeter());
Cone circlar1=new Cone(circle1,2.7);
circlar1.setColor("藍色");
System.out.println(circlar1.toString());
System.out.println("圓錐的體積為"+circlar1.volume());
}
}
❸ 本人初學java想找些編程例子,鞏固前面所學,最好關於面向對象三大思想方面和多線程、IO等。不要選擇題。
【試題1】任務一:求階乘
l 接受一個輸入,輸出這個數的階乘
l 用長整型計算
任務二:輸出階梯形式的9*9口訣表,如圖1.1所示。
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
圖1.1 階梯形式的9*9口訣表
要求:使用循環結構語句實現。
任務三:編程實現判斷一個整數是否為「水仙花數」。所謂「水仙花數」是指一個三位的整數,其各位數字立方和等於該數本身。例如:153是一個「水仙花數」,因為153=13+53+33。
要求:用帶有一個輸入參數的方法或函數實現,返回值類型為布爾類型。
【試題2】
任務一:已知某個班有M個學生,學習N門課程,已知所有學生的各科成績,編程:分別求每個學生的平均成績,並輸出。
要求:
l 定義一個二維數組,用於存放M個學生的N門成績。定義一個一維數組,用於存放每個學生的平均成績。
l 做二重循環,將每個學生的成績輸入到該二維數組中。
l 做二重循環,對已經存在於二維數組的中的值進行平均分計算,將結果保存到一個一維數組中。
l 做循環輸出該一維數組(即平均分)的值。
任務二:編寫一個程序找出100~1000之間的所有姐妹素數。
註:姐妹素數是指相鄰兩個奇數均為素數。
要求:使用循環結構語句實現。
任務三:求n以內(不包括n)同時能被3和7整除的所有自然數之和的平方根s,並作為函數值返回,最後結果s輸出到文件out.txt中。例如若n為1000時,函數值應為:s=153.909064。
【試題3】
任務一:求2!+3!+4!+5!
任務二:編寫一個程序,對用戶輸入的任意一組數字字元如{3,1,4,7,2,1,1,2,2},輸出其中出現次數最多的字元,並顯示其出現次數。如果有多個字元出現次數均為最大且相等,則輸出最先出現的那個字元和它出現的次數。例如,上面輸入的字元集合中,「1」和「2」都出現了3次,均為最大出現次數,因為「1」先出現,則輸出字元「1」和它出現的次數3次。
任務三:中華人民共和國2011年新的個人所得稅草案規定,個稅的起征點為3000元,分成7級,稅率情況見表1.3, 從鍵盤上輸入月工資,計算應交納的個人所得稅。
表1.3稅率情況表
級數
全月應納稅所得額
稅率 (%)
1
不超過1500元的(即3000-4500之間)
5
2
超過1500元至4500元的部分
10
3
超過4500元至9000元的部分
20
4
超過9000元至35000元的部分
25
5
超過35000元至55000元的部分
30
6
超過55000元至80000元的部分
35
7
超過80000元的部分
45
注意:超出部分按所在稅的級數計算,如:一個人的月收入為6000,應交個人所得稅為:1500*0.05 +((6000-3000)-1500)*0.1=225
請在鍵盤上輸入一個人的月收入,編程實現該公民所要交的稅。
例如:輸入「4000」,則輸出「你要交的稅為:50」。
【試題4】
任務一:請編寫函數fun,其功能是:將兩個兩位數的正整數a、b合並形成一個整數放在c中。合並的方式是:將a數的十位和個位數依次放在c數個位和十位上,b數的十位和個位數依次放在c數的百位和千位上。例如,當a=16,b=35,調用該函數後,c=5361。
任務二:孫悟空在大鬧蟠桃園的時候,第一天吃掉了所有桃子總數一半多一個,第二天又將剩下的桃子吃掉一半多一個,以後每天吃掉前一天剩下的一半多一個,到第n天准備吃的時候只剩下一個桃子。這下可把神仙們心疼壞了,請幫忙計算一下,第一天開始吃的時候桃園一共有多少個桃子。
要求:用循環語句實現,從鍵盤隨機輸入參數n
任務三:輸入一個5位正整數,輸出它是不是迴文數。迴文數是這樣一種數,它的逆序數和它本身相等。例如,12321的逆序數是12321,和它本身相等,所以它是迴文數。又例如25128的逆序數是82152,所以它不是迴文數。
要求:使用分支或循環結構語句實現。
【試題5】
任務一:判斷一個年份N閏年;
輸入:年份N
任務二:一個球從100m高度自由落下,每次落地後反彈回原高度的一半,再落下,再反彈。求它在第十次落地時,共經過多少米?第十次反彈多高?
任務三:Redraiment的老家住在工業區,日耗電量非常大。是政府的眼中釘肉中刺,但又沒辦法,這里頭住的可都是納稅大戶呀。
今年7月,又傳來了不幸的消息,政府要在7、8月對該區進行拉閘限電。但迫於壓力,限電制度規則不會太摳門,政府決定從7月1日停電,然後隔一天到7月3日再停電,再隔兩天到7月6日停電,依次下去,每次都比上一次晚一天。
Redraiment可是軟體專業的學生,怎麼離得開計算機。如果停電,就「英雄無用武之地」了。所以他開始盤算起自己回家的日子了,他想知道自己到家後到底要經歷多少天倒霉的停電。你能幫他算一算嗎?
要求:從鍵盤輸入放假日期,開學日期,日期限定在7、8月份,且開學日期大於放假日期。
提示:可以用數組標記停電的日期
【試題6】
任務一:定義一個電腦類,包含電腦的品牌,價格,型號。
任務二:某班同學上體育課,從1開始報數,共38人,老師要求按1,2,3重復報數,報數為1的同學往前走一步,而報數為2的同學往後退一步,試分別將往前走一步和往後退一步的同學的序號列印出來。
要求:用循環語句實現
任務三:一個人很倒霉,不小心打碎了一位婦女的一籃子雞蛋。為了賠償便詢問籃子里有多少雞蛋。那婦女說,她也不清楚,只記得每次拿兩個則剩一個,每次拿3個則剩2個,每次拿5個則剩4個,若每個雞蛋1元,請你幫忙編程,計算最少應賠多少錢?
要求:用循環語句實現,直接列印出結果不給分
【試題7】
任務一:從鍵盤接收一個整數N,統計出1~N之間能被7整除的整數的個數,以及這些能被7整除的數的和。
屏幕提示樣例:
請輸入一個整數:20
1~20之間能被7整除的數的個數:2
1~20之間能被7整除的所有數之和:21
任務二:從鍵盤輸入一個整數N,列印出有N*2-1行的菱形。
例如輸入整數4,則屏幕輸出如下菱形。
要求:使用循環結構語句實現。
任務三:編程實現判斷一個整數是否為素數。所謂素整是一個大於1的正整數,除了1和它本身,該數不能被其它的正整數整除。
要求:用帶有一個輸入參數的方法或函數實現,返回值類型為布爾類型。
【試題8】
任務一:設計一個學生類,包括學號,姓名,班次,系別,聯系電話,並包含一個構造方法。
要求:構造方法必須有5個參數,能對學生類中的屬性進行賦初值。
任務二:使用冒泡排序法對數組中的整數按升序進行排序,如下所示:
原始數組:a[]={1,9,3,7,4,2,5,0,6,8}
排序後: a[]={0,1,2,3,4,5,6,7,8,9}
要求:使用循環結構語句實現。
任務三:編程實現以下要求。n個人圍坐成一卷,從第一個人開始計數,數到m,第m個人出列,接下來繼續計數,直到所有人都出列。例如:共有5個人,數到3出列,則順序為3,1,5,2,4。
要求:用帶有兩個輸入參數(一個總人數n,一個為計數m)的方法或函數實現,返回值類型為數組。
【試題9】
任務一:輸入一行字元,輸出其中的數字的個數。例如輸入「fwEt2f44F2k8」,輸出結果為5。
任務二:用循環列印楊輝三角到N層
輸入:自然數N
任務三:刪去一維數組中相同的數
輸入 2 3 3 3 4 5 2 9 10 9 3 2 4
輸出2 3 4 5 9 10
【試題10】
任務一:定義一個矩形類,包括長,寬兩個屬性,計算周長方法和計算面積方法。
任務二:編寫程序實現:輸入一個整數,判斷它能否被3、5、7整除,並輸出以下信息之一:
能同時被3、5、7整除
能同時被3、5整除
能同時被3、7整除
能同時被5、7整除
只能被3、5、7中的一個整除
不能被3、5、7任一個整除
要求:使用分支結構語句實現。
任務三:尋找最大數經常在計算機應用程序中使用。例如:確定銷售競賽優勝者的程序要輸入每個銷售員的銷售量,銷量最大的員工為銷售競賽的優勝者,寫一個程序:從鍵盤輸入10個數,列印出其中最大的數。
要求:程序應正確使用如下兩個變數:number:當前輸入程序的數,largest:到目前為止的最大數。
給你30個題 慢慢做吧
❹ 5道簡單的JAVA編程題(高分懸賞)
很詳細的幫你寫下,呵呵,所以要給分哦!
1、
(1)源程序如下:
public class One {
public static void main(String[] args) {
String name = "張三";
int age = 23;
char sex = '男';
String myclass = "某某專業2班";
System.out.println("姓名:" + name);
System.out.println("姓名:" + age);
System.out.println("姓名:" + sex);
System.out.println("姓名:" + myclass);
}
}
(2)
編寫完程序的後綴名是.java,如本題,文件名就是One.java。
開始\運行\cmd,進入「命令提示符窗口」,然後用javac編譯器編譯.java文件,語句:javac One.java。
(3)
編譯成功後,生成的文件名後綴是.class,叫做位元組碼文件。再用java解釋器來運行改程序,語句:java One
2、編寫程序,輸出1到100間的所有偶數
(1)for語句
public class Two1 {
public static void main(String[] args) {
for(int i=2;i<=100;i+=2)
System.out.println(i);
}
}
(2)while語句
public class Two2 {
public static void main(String[] args) {
int i = 2;
while (i <= 100) {
System.out.println(i);
i += 2;
}
}
}
(3)do…while語句
public class Two3 {
public static void main(String[] args) {
int i = 2;
do {
System.out.println(i);
i += 2;
}while(i<=100);
}
}
3、編寫程序,從10個數當中找出最大值。
(1)for循環
import java.util.*;
public class Three1 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int number;
int max = 0;
for (int i = 0; i < 10; i++) {
System.out.print("輸入第" + (i + 1) + "個數:");
number = input.nextInt();
if (max < number)
max = number;
}
System.out.println("最大值:" + max);
}
}
(2)while語句
import java.util.*;
public class Three2 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int number;
int max = 0;
int i = 0;
while (i < 10) {
System.out.print("輸入第" + (i + 1) + "個數:");
number = input.nextInt();
if (max < number)
max = number;
i++;
}
System.out.println("最大值:" + max);
}
}
(3)do…while語句
import java.util.*;
public class Three3 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int number;
int max = 0;
int i = 0;
do {
System.out.print("輸入第" + (i + 1) + "個數:");
number = input.nextInt();
if (max < number)
max = number;
i++;
}while(i<10);
System.out.println("最大值:" + max);
}
}
4、編寫程序,計算從1到100之間的奇數之和。
(1)for循環
public class Four1 {
public static void main(String[] args) {
int sum=0;
for(int i = 1;i<=100;i+=2){
sum+=i;
}
System.out.println("1~100間奇數和:" + sum);
}
}
(2)while語句
public class Four2 {
public static void main(String[] args) {
int sum = 0;
int i = 1;
while (i <= 100) {
sum += i;
i += 2;
}
System.out.println("1~100間奇數和:" + sum);
}
}
(3)do…while語句
public class Four3 {
public static void main(String[] args) {
int sum = 0;
int i = 1;
do {
sum += i;
i += 2;
} while (i <= 100);
System.out.println("1~100間奇數和:" + sum);
}
}
5、
(1)什麼是類的繼承?什麼是父類?什麼是子類?舉例說明。
繼承:是面向對象軟體技術當中的一個概念。如果一個類A繼承自另一個類B,就把這個A稱為"B的子類",而把B稱為"A的父類"。繼承可以使得子類具有父類的各種屬性和方法,而不需要再次編寫相同的代碼。在令子類繼承父類的同時,可以重新定義某些屬性,並重寫某些方法,即覆蓋父類的原有屬性和方法,使其獲得與父類不同的功能。另外,為子類追加新的屬性和方法也是常見的做法。繼承需要關鍵字extends。舉例:
class A{}
class B extends A{}
//成員我就不寫了,本例中,A是父類,B是子類。
(2)編寫一個繼承的程序。
class Person {
public String name;
public int age;
public char sex;
public Person(String n, int a, char s) {
name = n;
age = a;
sex = s;
}
public void output1() {
System.out.println("姓名:" + name + "\n年齡:" + age + "\n性別:" + sex);
}
}
class StudentPerson extends Person {
String school, department, subject, myclass;
public StudentPerson(String sc, String d, String su, String m, String n,
int a, char s) {
super(n, a, s);
school = sc;
department = d;
subject = su;
myclass = m;
}
public void output2() {
super.output1();
System.out.println("學校:" + school + "\n系別:" + department + "\n專業:"
+ subject + "\n班級:" + myclass);
}
}
public class Five2 {
public static void main(String[] args) {
StudentPerson StudentPersonDemo = new StudentPerson("某某大學", "某某系別",
" 某專業", "某某班級", " 張三", 23, '男');
StudentPersonDemo.output2();
}
}