因此,对于我班级的作业,我们有一个实验室,我们必须编写代码来完成三件事:
我们获得了一个.java文件,开头就是这样:
package ArrayOfInts;
public class ArrayOfInts {
private int [] intArray;
private int eights;
private int runs;
//Sets intArray to the parameter and initializes all other variables
public ArrayOfInts(int [] x){
}
//Returns how many 8's are in the array.
public int findTheEights(){
return eights;
}
//Returns the number of runs in the array.
public int countTheRuns(){
return runs;
}
}
到目前为止,我写的代码是:
package ArrayOfInts;
public class ArrayOfIntsTester {
public static void main(String [] args){
int [] testArray = new int [50];
for(int i = 0; i < testArray.length; i++){
int x = (int)(Math.random()*9);
testArray[i]= x;
System.out.print(x + ", ");
}
System.out.println();
ArrayOfInts test = new ArrayOfInts(testArray);
System.out.println(test.findTheEights());
System.out.println(test.countTheRuns());
}
}
老实说,我不知道从哪里开始。救命??我编写的代码会生成正确的数组类型,但我不知道如何计算我需要计算的内容。
答案 0 :(得分:0)
//To count number of eights, iterate through array with a counter and increment it when we see an 8
public ArrayOfInts(int [] x){
eights = 0; //reset our count
for (int currentInt : intArray)
{
if (currentInt == 8)
eights++;
}
//Process runs here
}
答案 1 :(得分:0)
对于八个:迭代数组并在每次找到八个时执行eights++
。
if (testArray[i] == 8){
eights++
}
答案 2 :(得分:0)
要计算8的数量,只需使用另一个初始化为0的变量,如下所示: -
int c=0;
for (i=0;i<testArray.length;i++)
{
if (testArray[i] == 8)
{
c++;
}
}
现在你的c在数组中有8个数字,你不能打印它的值。
- &GT;如果那是你要问的问题
答案 3 :(得分:0)
这里有一些伪代码可以帮助你计算八个:
numberOfEights = 0;
for each element in testArray{
if (element equals 8) {
numberOfEights = nnumberOfEight + 1
} else {
nothing to do
}
}
return numberOfEights
尝试将其转换为java代码。
对于另一部分,我不明白你的runs
是什么。
答案 4 :(得分:0)
首先在constructor
public ArrayOfInts(int [] x){
intArray=x;
}
将8个初始化为0
private int eights=0;
然后更新你的计数方法
public int findTheEights(){
for(int current:intArray)
{
if(current==8){ eights++;}
}
return eights;
}
答案 5 :(得分:0)
在JavaScript中,你可以像下面的例子那样做。
可以在阵列初始化时直接完成8个计数。
如果我理解你的话,你想用countTheRuns()来计算对象的实例。这可以通过类变量来完成。
如果您想使用代码,可以在jsFiddle找到它。
/*So for an assignment in my class, we have a lab where we have to write code that will do three things:
generate an array of 50 random numbers from 0-9.
Return how many 8's appear in the array.
Return the number of runs in the array.
*/
(function() {
var MAX_RANDOM = 50;
var NUM_RANGE = 9; // 0 to 9
function ArrayOfInts() {
this.eights = 0;
this.numbers = [];
this.init();
// class variabe run_counter
ArrayOfInts.run_counter = (ArrayOfInts.run_counter || 0) +1;
this.getNumbers = function() {
return this.numbers;
};
this.getEights = function() {
return this.eights;
};
}
ArrayOfInts.prototype.init = function() {
for (var i=0; i< MAX_RANDOM; i++) {
var randNum = Math.floor(Math.random()*(NUM_RANGE+1));
this.numbers.push(randNum);
if (randNum == 8) this.eights++;
}
};
// demo usage code ---------------------
var array = new ArrayOfInts();
var array2 = new ArrayOfInts();
document.getElementById('output').innerHTML = array.getNumbers();
console.log(array.getNumbers());
document.getElementById('output').innerHTML += '<br/>The array has the following no. of eights: ' + array.getEights();
document.getElementById('output').innerHTML += '<br/>The number generation ran ' + ArrayOfInts.run_counter + ' times.';
})();
&#13;
<div id="output"></div>
&#13;