まだJavaでプログラミングを理解しようとしていますが、以下は、私がすでに大学に提出した複数のメソッドでの最近の割り当てのコードです。
私の質問は、コードを合理化して、より長いルートを経由するのではなく、より効果的にすることは可能ですか?
1:配列の最大値を出力します。
2:配列の最小値を出力します。
3:配列の平均値を出力します。
4:文字列内の特定の単語の出現回数を出力します。
5:文字列の平均単語長を出力します。
public class MaxMinAverage {
static int[] values = {1, 4, 3, 57, 7, 14, 7, 3, 10, 5, 4, 4, 10, 5, -88};
static String sentence = "the cat sat on the mat and the dog sat on the rug";
public static void main(String[] args) {
System.out.println("MaxMinAverage.java\n=====================");
System.out.println("Maximum value = "+getMaximum(values));
System.out.println("Minimum value = "+getMinimum(values));
System.out.println("Average Value =" +getAverage(values));
System.out.println("Frequency of 'the' = "+getFrequency(sentence,"the"));
System.out.println("Average word length = "+getAverageWordLength(sentence));
}
public static int getMaximum(int[]arr){
int max = 0;
for(int i = 0; i < values.length; i++){
if(values[i] > max){
max = values[i];
}
}
return max;
}
public static int getMinimum(int[] arr){
int min = 0;
for(int i = 1; i < values.length; i++){
if(values[i] < min){
min = values[i];
}
}
return min;
}
public static float getAverage(int[] arr){
float result = 0;
for(float i = 0; i < values.length; i++){
result = result + values[(int) i];
}
return result/values.length;
}
public static int getFrequency(String sentance, String word){
String keyword = "the";
String[] temp;
String space = " ";
temp = sentence.split(space);
int counter = 0;
for(int i = 0; i < temp.length; i++){
if(temp[i].equals(keyword)){
counter++;
}
}
return counter;
}
public static float getAverageWordLength(String sentance){
String characters = sentence.replaceAll("\\W","");
float total = characters.length();
float result = 0;
String[] temp;
String space = " ";
temp = sentence.split(space);
for(int i = 0; i < temp.length; i++){
result++;
}
return total/result;
}
}