本文目錄一覽:
- 1、請求大神幫我解答這道java編程題(填寫代碼)
- 2、關於JAVA問題的解答
- 3、這道java題怎麼做?
- 4、java這道題請解析下
- 5、初學java 能幫忙答一下這個題的代碼么。越詳細越好,謝謝大家
請求大神幫我解答這道java編程題(填寫代碼)
此題的Employee類設計有缺陷,缺少員工薪水的屬性。根據題意只能寫出下面的程序:
abstract class Employee {
public abstract double earnings();
}
class YearWorker extends Employee {
@Override
public double earnings() {
return 0;
}
}
class MonthWorker extends Employee {
@Override
public double earnings() {
return 0;
}
}
class WeekWorker extends Employee {
@Override
public double earnings() {
return 0;
}
}
class Company {
Employee[] employee;
double salaries = 0;
Company(Employee[] employee) {
this.employee = employee;
}
public double salariesPay() {
salaries = 0;
//計算salaries
for(int i=0; iemployee.length; i++) {
salaries += employee[i].earnings();
}
return salaries;
}
}
public class HardWork {
public static void main(String[] args) {
Employee[] employee = new Employee[20];
for(int i=0; iemployee.length; i++) {
if(i % 3 == 0) {
employee[i] = new YearWorker();
}
else if(i % 3 == 1) {
employee[i] = new MonthWorker();
}
else if(i % 3 == 2) {
employee[i] = new WeekWorker();
}
}
Company company = new Company(employee);
System.out.println(“公司年工資總額:” + company.salariesPay());
}
}
運行結果:
公司年工資總額:0.0
關於JAVA問題的解答
第1題 :下面哪個對類的聲明是錯誤的? (A),Java中沒有多繼承,C++有多繼承,Java只能多實現多個介面;
第2題 某一個子類要繼承一個父類,要使用關鍵字(extends )。
第3個題:下列說法正確的有( C)Java中new 的時候執行構造方法,至於執行哪一個看你new的哪一個構造方法
第4題:有以下方法的定義,請選擇該方法的返回類型( D)。java會自動向上轉型, (short) x/y*2;這個short強制轉型只是轉了x,並不是轉了結果
第5題:在方法內部使用,代表對當前對象自身引用的關鍵字是( this)。Java中this是對自己的引用,super向上調用
第6題:以下關於繼承的敘述正確的是(A )。在Java中類只允許單一繼承
第7題:一個非抽象子類,如果要實現某個介面,則( A)。必須實現該介面中的所有抽象方法
第8題:哪個關鍵字可以拋出異常? ( throw)。catch中用throw;方法上用throws
第9題:關於以下代碼段的說法正確的是( D)。這個雖然可以執行成功但是如果你要去判斷相等的話得到時false,string和StringBuffer有著本質的不同,一個不可變一個可變
第10題:下面關鍵字中,哪一個不是用於異常處理語句( break )。 break用於跳出循環
這道java題怎麼做?
答案如下,在電腦測試了下是可以的
import Java.util.Scanner;
public class sy2_1{
public static void main(String[] args) {
Scanner in =new Scanner(System.in);
int []arr=new int[3];
for (int i=0;i3;i++ ) {
arr[i]=in.nextInt();
}
int sum=0;
for (int i=0;i3 ;i++ ) {
sum=sum+arr[i];
}
System.out.print(“平均數為”+sum/3);
}
}
java這道題請解析下
第一條輸出語句:很明顯,也沒有爭議,先輸出2
第二條輸出語句:要先明白a++它在輸出之前是不會先加1的,所以還是輸出2
再輸出第二個2後,這時java內部就將a加上1了,所以現在a值為3
第三條輸出語句:要先明白++a會在輸出之前先立即加上1,所以輸出3+1=4
所以最後結果為224,先D
初學java 能幫忙答一下這個題的代碼么。越詳細越好,謝謝大家
package com;
public class NumberClass {
private int[] array = null;
private int index = 0;
// 構造方法
public NumberClass(int num){
//驗證參數
if(num = 0 ){
num = 1;
}
this.array = new int[num];
}
public NumberClass(){
this.array = new int[1];
}
// 添加數字方法
public int add(int x){
//判斷當前添加的位置是否合法
if(index = array.length-1){
dilatation();
}
//賦值
array[index] = x;
//下標自增
index ++;
return array[index-1];
}
// 獲取指定下標位置的數值
public Integer get(int i){
//判斷下標是否超出已賦值區域
if(i 0 || i index-1){
return null;
}
return array[i];
}
// 取得數組已賦值下標的個數
public int getCount(){
return index;
}
// 設置一個可用下標的值
public Integer set(int i,int val){
//判斷下標是否超出已賦值區域
if(i 0 || i index-1){
return null;
}
array[i] = val;
return array[i];
}
// 長度擴容方法
private void dilatation(){
//取得當前數組的長度
int length = array.length;
//生成擴容後的新數組
int[] array_next = new int[length*2];
//循環原數組對新數組賦值
for(int i=0;ilength;i++){
array_next[i] = array[i];
}
//新數組替換舊數組
this.array = array_next;
}
}
原創文章,作者:SGKTO,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/313412.html