因此,我正在爲比賽做準備,我似乎無法弄清楚其中一個練習題。我導入了所有數據。我明白如何解決我腦海中的問題,而不是如何將它放入代碼中。附:我在編程方面很新穎。在Java中計數實例
問題:狗在某段時間內吠叫多少次?
編輯:該程序應能夠爲多個狗
事情給我的工作:
狗的總數。 int numofdog = q.nextInt();
第一次樹皮的時間。
int b = 0;
每個樹皮之間的時間。
int d = 4;
用於計算樹皮數量的時間段。 4 - 10
因此,例如,只有1只狗。狗首先在0,然後在4,然後在8 ..等等。我計算的時間間隔是4-10。所以狗狗在4和8叫。所以總共狗在4 - 10期間吠叫2次。
我不知道如何繼續解決這個問題。
原始代碼
import java.io.*;
import java.util.*;
public class dog {
public static void main(String[] args) {
int b = 0;
int d = 0;
int x = 0;
int y = 0;
int count = 0;
int m =0;
Scanner q = new Scanner(System.in);
int numofdog = q.nextInt();
while (numofdog-->0) {
b = q.nextInt(); // First Bark
d = q.nextInt(); // Time between barks
x = q.nextInt(); // Starting of interval
y = q.nextInt(); // Ending of interval
int time [] = new int[y]; // Make an array
for (int a = 0; a < time.length; a++) {
time[a] = a + 1;
if (time [a] % d == 0) {
count ++;
}
}
}
System.out. println(count);
}
}
更新的代碼(仍在開發中)
我會通過文字在這裏發佈我的問題一句話也使我們大家都可以理解
狗飼養員鮑勃,想知道他的狗在特定時間間隔內多少次吠叫
輸入。輸入的第一行將是一個單一的int numofdog
,這是dog bob擁有的數量。下一個numofdog
行將分別由兩個整數組成:b和d。 b
是第一次樹皮的時間,d
是樹皮之間的時間。下一行是一個整數numberofintervals
。接下來的numberofintervals
行將由兩個整數組成,x
和y
。x
正在被測量的時間間隔的開始和y
是結束
示例輸入
2 --- numofdogs
0 4 --- b和d爲1狗
2 5 --- b和d爲狗2
1 ---間隔NUM被測量
4 8 --- x和y間隔。
import java.io.*;
import java.util.*;
public class dog {
public static void main(String[] args) {
int b1 = 0;
int b2 = 0;
int d1 = 0;
int d2 = 0;
int x1= 0;
int y1= 0;
int x2= 0;
int y2= 0;
int count = 0;
Scanner q = new Scanner(System.in);
int numofdog = q.nextInt();
while (numofdog-->0) {
b1 = q.nextInt(); // First Bark (Dog 1)
d1 = q.nextInt(); // Time between barks (Dog 1)
b2 = q.nextInt(); // First Bark (Dog 2)
d2 = q.nextInt(); // Time between barks (Dog 2)
}
int numberofintervals = q.nextInt();
while (numberofintervals -->0) {
x1 = q.nextInt(); // Starting of interval
y1 = q.nextInt(); // Ending of interval
x2 = q.nextInt(); // Starting of interval
y2 = q.nextInt(); // Ending of interval
}
int time [] = new int[10000]; // Make an array, to represent time
for (int a = 0; a < time.length; a++) {
time[a] = a + 1;
if (time [a] % d1 == 0 || time [a] % d2 == 0) {
count ++;
}
}
System.out.println(count);
}
}
你快到了。現在你需要計算狗吠聲的次數。我建議先用一支鉛筆和一張紙來設計算法(這也可能涉及到數學運算),然後將其轉化爲代碼。如果您的具體問題是關於如何將算法轉換爲代碼,請提供您的算法,我們將爲您提供幫助。 – 2014-11-23 17:10:05
另請參見:http://en.wikipedia.org/wiki/Modulo_operation – atok 2014-11-23 17:23:05
我不確定該從哪裏出發。這種新的。我在嘗試比較數組時遇到錯誤。 – f6e9a 2014-11-23 18:19:28