- 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/
为了让我的代码几乎完全用 Jquery 编写,我想用 Jquery 重写 AJAX 调用。 这是从网页到 Tomcat servlet 的调用。 我目前情况的类似代码: var http = new
我想使用 JNI 从 Java 调用 C 函数。在 C 函数中,我想创建一个 JVM 并调用一些 Java 对象。当我尝试创建 JVM 时,JNI_CreateJavaVM 返回 -1。 所以,我想知
环顾四周,我发现从 HTML 调用 Javascript 函数的最佳方法是将函数本身放在 HTML 中,而不是外部 Javascript 文件。所以我一直在网上四处寻找,找到了一些简短的教程,我可以根
我有这个组件: import {Component} from 'angular2/core'; import {UserServices} from '../services/UserService
我正在尝试用 C 实现一个简单的 OpenSSL 客户端/服务器模型,并且对 BIO_* 调用的使用感到好奇,与原始 SSL_* 调用相比,它允许一些不错的功能。 我对此比较陌生,所以我可能会完全错误
我正在处理有关异步调用的难题: 一个 JQuery 函数在用户点击时执行,然后调用一个 php 文件来检查用户输入是否与数据库中已有的信息重叠。如果是这样,则应提示用户确认是否要继续或取消,如果他单击
我有以下类(class)。 public Task { public static Task getInstance(String taskName) { return new
嘿,我正在构建一个小游戏,我正在通过制作一个数字 vector 来创建关卡,该数字 vector 通过枚举与 1-4 种颜色相关联。问题是循环(在 Simon::loadChallenge 中)我将颜
我有一个java spring boot api(数据接收器),客户端调用它来保存一些数据。一旦我完成了数据的持久化,我想进行另一个 api 调用(应该处理持久化的数据 - 数据聚合器),它应该自行异
首先,这涉及桌面应用程序而不是 ASP .Net 应用程序。 我已经为我的项目添加了一个 Web 引用,并构建了各种数据对象,例如 PayerInfo、Address 和 CreditCard。但问题
我如何告诉 FAKE 编译 .fs文件使用 fsc ? 解释如何传递参数的奖励积分,如 -a和 -target:dll . 编辑:我应该澄清一下,我正在尝试在没有 MSBuild/xbuild/.sl
我使用下划线模板配置了一个简单的主干模型和 View 。两个单独的 API 使用完全相同的配置。 API 1 按预期工作。 要重现该问题,请注释掉 API 1 的 URL,并取消注释 API 2 的
我不确定什么是更好的做法或更现实的做法。我希望从头开始创建目录系统,但不确定最佳方法是什么。 我想我在需要显示信息时使用对象,例如 info.php?id=100。有这样的代码用于显示 Game.cl
from datetime import timedelta class A: def __abs__(self): return -self class B1(A):
我在操作此生命游戏示例代码中的数组时遇到问题。 情况: “生命游戏”是约翰·康威发明的一种细胞自动化技术。它由一个细胞网格组成,这些细胞可以根据数学规则生存/死亡/繁殖。该网格中的活细胞和死细胞通过
如果我像这样调用 read() 来读取文件: unsigned char buf[512]; memset(buf, 0, sizeof(unsigned char) * 512); int fd;
我用 C 编写了一个简单的服务器,并希望调用它的功能与调用其他 C 守护程序的功能相同(例如使用 ./ftpd start 调用它并使用 ./ftpd stop 关闭该实例)。显然我遇到的问题是我不知
在 dos 中,当我粘贴此命令时它会起作用: "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" https://google.
在 dos 中,当我粘贴此命令时它会起作用: "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" https://google.
我希望能够从 cmd 在我的 Windows 10 计算机上调用 python3。 我已重新安装 Python3.7 以确保选择“添加到路径”选项,但仍无法调用 python3 并使 CMD 启动 P
我是一名优秀的程序员,十分优秀!