本文目錄一覽:
- 1、用JAVA編寫一個程序,要求如下:
- 2、求pca(PricipalComponentAnalysis)的java代碼
- 3、java包之間的互相訪問,課本習題。望高手解答
- 4、java是實現什麼功能
用JAVA編寫一個程序,要求如下:
實現代碼如下:
Student類:
public class Student {
private String name;
private String sex;
private int age;
private double chinese;
private double math;
private double english;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public double getChinese() {
return chinese;
}
public void setChinese(double chinese) {
this.chinese = chinese;
}
public double getMath() {
return math;
}
public void setMath(double math) {
this.math = math;
}
public double getEnglish() {
return english;
}
public void setEnglish(double english) {
this.english = english;
}
}
—————————————————————–
StudentTest類:(測試類)
import java.util.Scanner;
public class StudentTest {
public static void main(String[] args) {
Student student = new Student();
Scanner sc = new Scanner(System.in);
System.out.println(“請輸入姓名:”);
student.setName(sc.next());
System.out.println(“請輸入性別:”);
student.setSex(sc.next());
System.out.println(“請輸入年齡:”);
student.setAge(sc.nextInt());
System.out.println(“請輸入語文成績、數學成績、英語成績:”);
student.setChinese(sc.nextDouble());
student.setMath(sc.nextDouble());
student.setEnglish(sc.nextDouble());
Double count = student.getChinese()+ student.getMath()+student.getEnglish();
System.out.println(“姓名:”+student.getName()+” 性別:”+student.getSex()+” 年齡:”+student.getAge());
System.out.println(“總分:”+count+” 平均分:”+count/3);
}
}
運行結果為:
求pca(PricipalComponentAnalysis)的java代碼
package PCA;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import org.jblas.ComplexDoubleMatrix;
import org.jblas.DoubleMatrix;
import org.jblas.Eigen;
public class PCA {
/**
* Reduce matrix dimension 減少矩陣維度
* @param source 源矩陣
* @param dimension 目標維度
* @return Target matrix 返回目標矩陣
*/
public static void main(String[] args){
DoubleMatrix d = new DoubleMatrix(new double[][]{{-1,-1,0,2,0},
{-2,0,0,1,1}});
DoubleMatrix result = PCA.dimensionReduction(d, 2);
System.out.println(result);
}
public static DoubleMatrix dimensionReduction(DoubleMatrix source, int dimension) {
//C=X*X^t/m 矩陣*矩陣^異或/列數
DoubleMatrix covMatrix = source.mmul(source.transpose()).div(source.columns);
ComplexDoubleMatrix eigVal = Eigen.eigenvalues(covMatrix);
ComplexDoubleMatrix[] eigVectorsVal = Eigen.eigenvectors(covMatrix);
ComplexDoubleMatrix eigVectors = eigVectorsVal[0];
//通過特徵值將符號向量從大到小排序
ListPCABean beans = new ArrayListPCA.PCABean();
for (int i = 0; i eigVectors.columns; i++) {
beans.add(new PCABean(eigVal.get(i).real(), eigVectors.getColumn(i)));
}
Collections.sort(beans);
DoubleMatrix newVec = new DoubleMatrix(dimension, beans.get(0).vector.rows);
for (int i = 0; i dimension; i++) {
ComplexDoubleMatrix dm = beans.get(i).vector;
DoubleMatrix real = dm.getReal();
newVec.putRow(i, real);
}
return newVec.mmul(source);
}
static class PCABean implements ComparablePCABean {
double eigenValue;
ComplexDoubleMatrix vector;
public PCABean(double eigenValue, ComplexDoubleMatrix vector) {
super();
this.eigenValue = eigenValue;
this.vector = vector;
}
@Override
public int compareTo(PCABean o) {
return Double.compare(o.eigenValue, eigenValue);
}
@Override
public String toString() {
return “PCABean [eigenValue=” + eigenValue + “, vector=” + vector + “]”;
}
}
}
org.jblas的jar包去百度下一個,我不知道怎麼上傳文件
java包之間的互相訪問,課本習題。望高手解答
01.X 父類中私有的方法和欄位不會被繼承
02.O java類只能單繼承和多實現
03.O Exception為所有異常的父類,所以,他包含所有的異常
04.X Class1類的方法可以訪問
05.X 抽象類有構造方法,因為抽象類中有非抽象方法,可以被繼承。
06.X 如果父類中的構造方法沒有要求參數,則可以省略super();
07.O 正確的概念
08.O 可以,不過個goto容易引起程序的不穩定性,故現在大都不用了
09.X 不同類型的多個參數如果順序不一樣也可以實現重載
10.O 本來基本參數類型就是一個類
四、
01. B
02. D
03. C
04. A
05. D
06. B
07. C
08. D
09. A
10. abstract
java是實現什麼功能
Java是Sun公司推出的一種編程語言。它是一種通過解釋方式來執行的語言,語法規則和C++類似。同時,Java也是一種跨平台的程序設計語言。用Java語言編寫的程序叫做「Applet」(小應用程序),用編譯器將它編譯成類文件後,將它存在WWW頁面中,並在HTML檔上作好相應標記,用戶端只要裝上Java的客戶軟體就可以在網上直接運行「Applet」。 Java非常適合於企業網路和Internet環境,現在已成為Internet中最受歡迎、最有影響的編程語言之一。 Java有許多值得稱道的優點,如簡單、面向對象、分散式、解釋性、可靠、安全、結構中立性、可移植性、高性能、多線程、動態性等。Java擯棄了C++中各種弊大於利的功能和許多很少用到的功能。 Jave可以運行與任何微處理器,用Java開發的程序可以在網路上傳輸,並運行於任何客戶機上。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/295501.html