- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要从一个类中调用两个类,基本上我需要调用的两个类的内容是相同的,只是查询不同,但是在创建对象并调用第二个类时出现错误。这是我要调用的代码
Tree tree = new Tree();
return tree.hashtree(dbtoarray.getdata(), dbtoarray.GetDataPrediction());
TreeApplicationSubject treeA = new TreeApplicationSubject();//error sign:unreachable statement
return treeA.hashtree(dbtoarray.getdata(), dbtoarray.GetDataPrediction());
下面是我需要在第二个调用者中调用的类
package Engine;
import java.util.*;
/**
*
* @author fobia
*/
public class TreeApplicationSubject {
double[] correlation;
double[] meanArr;
public double[] getCorrelation() {
return correlation;
}
public double[] getMeanArr() {
return meanArr;
}
public String[] hashtree(String[][] dataset, String[][] predictiondata) {
//======fetch data from database then add 1 morre row for calculation
String temp = "";
String[] Means = {"Means", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"};
//================= combine 3 array =====================================
System.out.println("dataset.length: " + dataset.length + "\npredictiondata.length" + predictiondata.length);
int heightofarray = (dataset.length) + (predictiondata.length) + 1;
int lengthofarray = (dataset[0].length);
System.out.println("heightofarray: " + heightofarray + " lengthofarray: " + lengthofarray);
//TextArea
temp = temp + "\n" + "heightofarray: " + heightofarray + " lengthofarray: " + lengthofarray;
String[][] toCalculate = new String[heightofarray][lengthofarray];
for (int a = 0; a < dataset.length; a++) {
for (int b = 0; b < dataset[0].length; b++) {
toCalculate[a][b] = dataset[a][b];
}
}
for (int a = 0; a < predictiondata.length; a++) {
for (int b = 0; b < predictiondata[0].length; b++) {
toCalculate[(dataset.length) + a][b] = predictiondata[a][b];
}
}
for (int a = 0; a < Means.length; a++) {
toCalculate[heightofarray - 1][a] = Means[a];
}
//==========================mulai kalkulasi=============================
System.out.println("harusnya muncul String[][]toCalculate");
//TextArea
temp = temp + "\n" + ("harusnya muncul String[][]toCalculate");
for (int a = 0; a < toCalculate.length; a++) {
for (int b = 0; b < toCalculate[0].length; b++) {
System.out.print(toCalculate[a][b] + "\t");
}
System.out.println("");
}
System.out.println("=============================== hashtree ====================================");
System.out.println(" value in root position\n");
//ngeprint dataset per row serta memecah nilai means, kalau di tree ini adalah root. dlm method ini smua data dimasukkan ke root
for (int y = 1; y < toCalculate[0].length; y++) {
System.out.println("dataset " + y + " is ");
//TextArea
temp = temp + "\n" + ("dataset " + y + " is ");
//---
double manto = 0;
for (int x = 0; x < toCalculate.length - 1; x++) {//biar mulai itung data dr sini
manto = manto + Double.parseDouble(toCalculate[x][y]);
//nilai array per row
System.out.print(toCalculate[x][y]);
}
System.out.println("\tmeans value: " + (manto / (toCalculate.length - 1)));
toCalculate[toCalculate.length - 1][y] = "" + (manto / (toCalculate.length - 1));
}
System.out.println("lalallalallaa~");
Print.Print(toCalculate);
System.out.println("lalallalala");
AvgDev avgDev = new AvgDev();
// String[][] newCombine = avgDev.FindAvg(toCalculate);//mengcombine array blm dipecah
// temp = temp + "\n" + ("harusnya masih nol 00");
//mulai mengisi
Map mapTree = new HashMap();
// int numClusters = 2;// int akar=2--> number of cluster;
int treeDeep = 3;//int maxNode = 2;
int jumlah = 1;//counter
//positioning for childs
for (int x = 0; x <= treeDeep; x++) {
for (int y = 1; y <= jumlah; y++) {
//initialize position. position adalah nomor identitas setiap node
String position = x + "." + y;//x itu deep, y itu nomor children
mapTree.put(position, null);
}
jumlah = jumlah * 2;//karena binary tree
}
//String sementara untuk membangun tree
//all ID are turned into String (not string array) to enter the tree
String root = "";
for (int i = 1; i < toCalculate.length; i++) {
if (i == 1) {
root = toCalculate[i][0];
} else {
root = root + "," + toCalculate[i][0];
}
}
mapTree.put("0.1", root);//0.1 root tree identity, since it's root, all comes up here
System.out.println("=== Printing map tree ===");
System.out.println("mapTree: "+mapTree);
System.out.println("root vale: "+root);
jumlah = 1;
String[][] data = new String[0][0];//the strings value name is now become data
for (int i = 0; i < treeDeep; i++) {
for (int j = 1; j <= jumlah; j++) {
String IDRoot = (i + "." + j);
if (mapTree.get(IDRoot) != null) {
if (!mapTree.get(IDRoot).toString().trim().equals("")) {
String[] getMap = mapTree.get(IDRoot).toString().split(",");
data = new String[getMap.length][toCalculate[0].length];
// for (int k = 0; k < toCalculate[0].length; k++) {
// data[0][k] = toCalculate[0][k];
// }
for (int k = 0; k < getMap.length; k++) {
for (int l = 0; l < toCalculate.length; l++) {
// System.out.println("aw>" + getMap[k]+"><"+toCalculate[l][0]);
if (getMap[k].equals(toCalculate[l][0])) {
// System.out.println("masuk");
data[k][0] = getMap[k];
for (int m = 1; m < toCalculate[0].length; m++) {
data[k][m] = toCalculate[l][m];
}
}
}
}
System.out.println("data.length>" + data.length);
System.out.println(">>" + "" + (i) + "." + (j));
//testing the tree (masuk apa gak)
for (int p = 0; p < data.length; p++) {
for (int q = 0; q < data[0].length; q++) {
System.out.print(data[p][q] + "|");
}
System.out.println();
}
System.out.println("WUZZZ");
//-----
KMeansClustering kmeans = new KMeansClustering();//call KMeans
if (data.length > 1) {
List valueclust = kmeans.Kmeanz(data);
//checking for the cluster value (checking only)
for (int p = 0; p < valueclust.size(); p++) {
String[] wew = valueclust.get(p).toString().split(";");
for (int q = 0; q < wew.length; q++) {
System.out.print(wew[q] + "|");
}
System.out.println();
}
//----
//inserting to the tree
int numb = 1;//counter for cluster numbering (1 or 2)
for (int p = 0; p < valueclust.size(); p++) {
System.out.println("=================================================================");
System.out.println("CLUSTER" + numb);
String clusterElement = "";//strings containing the cluster elements of a clusters
clusterElement = "" + valueclust.get(p);
String judul = "";//child positioning
if (numb == 1) {
judul = "" + (i + 1) + "." + (j * 2 - 1);
} else if (numb == 2) {
judul = "" + (i + 1) + "." + (j * 2);
}
System.out.println("Cluster elements: " + judul + ":" + clusterElement);
mapTree.put(judul, clusterElement);
numb++;
}
}
}
}
}
jumlah = jumlah * 2;
}
data = null;
/////??????????????????????????????????????????????????????????????????????????
// tambahan baru nih
/////??????????????????????????????????????????????????????????????????????????
//untuk menginisialisasi anggota cluster yang didalamnya terdapat dataset Means value
String adaMeans = "";
for (int i = 0; i < mapTree.size(); i++) {
String mapStr = (String) mapTree.get(treeDeep + "." + i);
if (mapStr != null) {
String[] mapStrArr = mapStr.split(",");
for (int j = 0; j < mapStrArr.length; j++) {
if (mapStrArr[j].equals("Means")) {
adaMeans = mapStr;
}
}
}
}
//dibawah ini untuk display anggota cluster terpilih (yg ada data means)
System.out.println("Cluster yang ada means di dalamnya: >" + adaMeans);
String[] adaMeansArr = adaMeans.split(",");
data = new String[adaMeansArr.length ][toCalculate[0].length];//array yg ada data means-nya dimasukkan ke array data
// for (int k = 0; k < toCalculate[0].length; k++) {
// data[0][k] = toCalculate[0][k];// <-- ini untuk alokasi smua yg di arr jadi ke array data
// }
//untuk apa ini?
for (int k = 0; k < adaMeansArr.length; k++) {
for (int l = 0; l < toCalculate.length; l++) {
// System.out.println(getMap[k]+"<>"+(arr[l][0]));
if (adaMeansArr[k].equals(toCalculate[l][0])) {
data[k ][0] = adaMeansArr[k];
for (int m = 1; m < toCalculate[0].length; m++) {
data[k ][m] = toCalculate[l][m];
}
}
}
}
System.out.println("=============untuk print array yang ada meansnya==================");
for (int i = 0; i < data.length; i++) {
for (int j = 0; j < data[0].length; j++) {
System.out.print(data[i][j] + "\t");
}
System.out.println("");
}
System.out.println("==============================*****================================");
//----Untuk memindahkan isi data pada means, average value & SD pada means, average value pada data ke dalam array baru
String[][] avgDevArr = avgDev.FindAvg(data);//the data of the choosen cluster exclude means data is located to a new array
double[] avgArr = null;//the data of of average value for choosen cluster exclude means data is located to a new array
double[] sdArr = null;//the data of of SD for choosen cluster exclude means data is located to a new array
//double[] meanArr = null;//the data of Means in the choosen cluster is located to a new array
double meanAvg = 0;//initialization
double meanSd = 0;//initialization
String[][] data2 = new String[data.length - 1][data[0].length - 1];//the new String data
//ngisi data2
for (int i = 0; i < data.length - 1; i++) {
for (int j = 0; j < data[0].length - 1; j++) {
data2[i][j] = data[i][j];
}
}
//ngisi arrmean
meanArr = new double[data[0].length - 1];
for (int i = 0; i < data[0].length - 1; i++) {
meanArr[i] = Double.parseDouble(data[data.length - 1][i + 1]);
}
//ngisi arrsd
sdArr = new double[avgDevArr.length - 1];
for (int i = 0; i < avgDevArr.length - 1; i++) {
sdArr[i] = Double.parseDouble(avgDevArr[i + 1][avgDevArr[0].length - 1]);
}
//ngisi arravg
avgArr = new double[avgDevArr.length - 1];
for (int i = 0; i < avgDevArr.length - 1; i++) {
avgArr[i] = Double.parseDouble(avgDevArr[i][avgDevArr[0].length - 2]);
}
//ngisi avgmean
meanAvg = Double.parseDouble(avgDevArr[avgDevArr.length - 1][avgDevArr[0].length - 2]);
//ngisi sdmean
meanSd = Double.parseDouble(avgDevArr[avgDevArr.length - 1][avgDevArr[0].length - 1]);
System.out.println("arrAVG=================================================");
for (int i = 0; i < avgArr.length; i++) {
System.out.print(avgArr[i] + " | ");
}
System.out.println();
System.out.println("arrMeans=============================================");
for (int i = 0; i < meanArr.length; i++) {
System.out.print(meanArr[i] + " | ");
}
System.out.println();
System.out.println("arrSD================================================");
for (int i = 0; i < sdArr.length; i++) {
System.out.print(sdArr[i] + " | ");
}
System.out.println();
System.out.println("meanAVG===============================================");
System.out.println(meanAvg);
System.out.println("meanSD=============================================");
System.out.println(meanSd);
System.out.println("\n Data2: data of grade from chosen cluster to be inputted==========================");
//move data from choosen cluster into new array to make the calculating easier
for (int i = 0; i < data2.length; i++) {
for (int j = 0; j < data2[0].length; j++) {
System.out.print(data2[i][j] + "\t");
}
System.out.println("");
}
System.out.println("=== Start calculating for the correlation ===");
double summation = 0;//summation adalah hasil sum dari (Data in Means - Avg Value of dataset Means)(data in each dataset - Avg Value of each dataset)
correlation = new double[data2.length];//new array to store the correlation
for (int i = 0; i < data2.length; i++) {
double jml;//jml adalah jumlah summation per row
summation = 0;//smmation adalah jumlah summation keseluruhan, untuk menghitung correlation yang dimasukan ke rumus
for (int j = 0; j < data2[0].length; j++) {
System.out.println("calculating for dataset number " + (i + 1));
System.out.print("summation: " + summation + " | ");//hasilTambah
System.out.println("data to be calculating:" + Double.parseDouble(data2[i][j]));
System.out.print("avg of array [i]" + avgArr[i] + " | ");
System.out.println("meanArr[j]: " + meanArr[j]);
System.out.println("meanAvg: " + meanAvg);
jml = ((meanArr[j] - meanAvg) * ((Double.parseDouble(data2[i][j])) - avgArr[i]));
System.out.println();
System.out.println("summation value per dataset is: " + jml);
summation = summation + jml;
}
int Y; //Y adalah faktor pembagi, max value is the number of dataset - 1
Y = data2[0].length - 1;
System.out.println("\nY is: " + Y);
double corrtemp = summation / sdArr[i] * meanSd * Y;//correlation sementara
System.out.println(" The correlation for Means into this dataset= summation / Y ");
System.out.println(summation + " / " + sdArr[i] * meanSd * Y + " = " + corrtemp);
//mengisi hasil perhitungan correlation ke aray baru bernama correlation
correlation[i] = corrtemp;
System.out.println();
System.out.println("---");
}
System.out.println();
for (int i = 0; i < correlation.length; i++) {
System.out.print("The correlation remains: " + correlation[i] + " | ");
}
System.out.println("\n=========================*****=============================");
/////??????????????????????????????????????????????????????????????????????????
// Calculating correlation finished
String[] i = Prediction.computing(meanAvg, meanSd, data, correlation, meanArr, sdArr, avgArr);
int x = i.length;
for (int r = 0; r < x; r++) {
temp = temp + "\n" + i[r];
}
/////??????????????????????????????????????????????????????????????????????????
String[] y = new String[1];
y[0] = temp;
return y;
}
}
我想知道是否有人可以帮助我。谢谢
最佳答案
如错误所示,表达式 TreeApplicationSubject treeA = new TreeApplicationSubject();
无法访问,因为您已经从上一行的方法返回
。
您不能从 java 中的方法返回
两个值[或两次]。
关于java - java调用2个类时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10040462/
我正在编写一个具有以下签名的 Java 方法。 void Logger(Method method, Object[] args); 如果一个方法(例如 ABC() )调用此方法 Logger,它应该
我是 Java 新手。 我的问题是我的 Java 程序找不到我试图用作的图像文件一个 JButton。 (目前这段代码什么也没做,因为我只是得到了想要的外观第一的)。这是我的主课 代码: packag
好的,今天我在接受采访,我已经编写 Java 代码多年了。采访中说“Java 垃圾收集是一个棘手的问题,我有几个 friend 一直在努力弄清楚。你在这方面做得怎么样?”。她是想骗我吗?还是我的一生都
我的 friend 给了我一个谜语让我解开。它是这样的: There are 100 people. Each one of them, in his turn, does the following
如果我将使用 Java 5 代码的应用程序编译成字节码,生成的 .class 文件是否能够在 Java 1.4 下运行? 如果后者可以工作并且我正在尝试在我的 Java 1.4 应用程序中使用 Jav
有关于why Java doesn't support unsigned types的问题以及一些关于处理无符号类型的问题。我做了一些搜索,似乎 Scala 也不支持无符号数据类型。限制是Java和S
我只是想知道在一个 java 版本中生成的字节码是否可以在其他 java 版本上运行 最佳答案 通常,字节码无需修改即可在 较新 版本的 Java 上运行。它不会在旧版本上运行,除非您使用特殊参数 (
我有一个关于在命令提示符下执行 java 程序的基本问题。 在某些机器上我们需要指定 -cp 。 (类路径)同时执行java程序 (test为java文件名与.class文件存在于同一目录下) jav
我已经阅读 StackOverflow 有一段时间了,现在我才鼓起勇气提出问题。我今年 20 岁,目前在我的家乡(罗马尼亚克卢日-纳波卡)就读 IT 大学。足以介绍:D。 基本上,我有一家提供簿记应用
我有 public JSONObject parseXML(String xml) { JSONObject jsonObject = XML.toJSONObject(xml); r
我已经在 Java 中实现了带有动态类型的简单解释语言。不幸的是我遇到了以下问题。测试时如下代码: def main() { def ks = Map[[1, 2]].keySet()
一直提示输入 1 到 10 的数字 - 结果应将 st、rd、th 和 nd 添加到数字中。编写一个程序,提示用户输入 1 到 10 之间的任意整数,然后以序数形式显示该整数并附加后缀。 public
我有这个 DownloadFile.java 并按预期下载该文件: import java.io.*; import java.net.URL; public class DownloadFile {
我想在 GUI 上添加延迟。我放置了 2 个 for 循环,然后重新绘制了一个标签,但这 2 个 for 循环一个接一个地执行,并且标签被重新绘制到最后一个。 我能做什么? for(int i=0;
我正在对对象 Student 的列表项进行一些测试,但是我更喜欢在 java 类对象中创建硬编码列表,然后从那里提取数据,而不是连接到数据库并在结果集中选择记录。然而,自从我这样做以来已经很长时间了,
我知道对象创建分为三个部分: 声明 实例化 初始化 classA{} classB extends classA{} classA obj = new classB(1,1); 实例化 它必须使用
我有兴趣使用 GPRS 构建车辆跟踪系统。但是,我有一些问题要问以前做过此操作的人: GPRS 是最好的技术吗?人们意识到任何问题吗? 我计划使用 Java/Java EE - 有更好的技术吗? 如果
我可以通过递归方法反转数组,例如:数组={1,2,3,4,5} 数组结果={5,4,3,2,1}但我的结果是相同的数组,我不知道为什么,请帮助我。 public class Recursion { p
有这样的标准方式吗? 包括 Java源代码-测试代码- Ant 或 Maven联合单元持续集成(可能是巡航控制)ClearCase 版本控制工具部署到应用服务器 最后我希望有一个自动构建和集成环境。
我什至不知道这是否可能,我非常怀疑它是否可能,但如果可以,您能告诉我怎么做吗?我只是想知道如何从打印机打印一些文本。 有什么想法吗? 最佳答案 这里有更简单的事情。 import javax.swin
我是一名优秀的程序员,十分优秀!