我正在尝试为我的课程笔记和akts系统做一个计算器。 但是我无法为可选择的课程做一个功能选项,并且用for循环来计算数量。
package sa;
import java.util.Scanner;
class sA {
public static void main(String[] args){
Scanner ders = new Scanner(System.in);
System.out.print("Ders sayısını giriniz: ");
int y = ders.nextInt();
if (y == 6) {
System.out.println("Notları, gireceğiniz akts sırasıyla giriniz!");
Scanner not1 = new Scanner(System.in);
System.out.print("1.not : ");
float q = not1.nextFloat();
Scanner not2 = new Scanner(System.in);
System.out.print("2.not : ");
float a = not2.nextFloat();
Scanner not3 = new Scanner(System.in);
System.out.print("3.not : ");
float z = not3.nextFloat();
Scanner not4 = new Scanner(System.in);
System.out.print("4.not : ");
float w = not4.nextFloat();
Scanner not5 = new Scanner(System.in);
System.out.print("5.not : ");
float s = not5.nextFloat();
Scanner not6 = new Scanner(System.in);
System.out.print("6.not : ");
float x = not6.nextFloat();
System.out.println("Notları girdiğiniz sıra ile, akts lerini giriniz.!");
Scanner akts1 = new Scanner(System.in);
System.out.print("1.akts : ");
int e = akts1.nextInt();
Scanner akts2 = new Scanner(System.in);
System.out.print("2.akts : ");
int d = akts2.nextInt();
Scanner akts3 = new Scanner(System.in);
System.out.print("3.akts : ");
int c = akts3.nextInt();
Scanner akts4 = new Scanner(System.in);
System.out.print("4.akts : ");
int r = akts4.nextInt();
Scanner akts5 = new Scanner(System.in);
System.out.print("5.akts : ");
int f = akts5.nextInt();
Scanner akts6 = new Scanner(System.in);
System.out.print("6.akts : ");
int v = akts6.nextInt();
float t = q*e+a*d+z*c+w*r+s*f+x*v;
float g = t/(e+d+c+r+f+v);
System.out.println(g);
}
else {
System.out.print("Sadece 6 dersi hesaplayacak algoritma bulunmaktadır.");
}
}
}
这是另一个未完成的尝试。
package sa;
import java.util.Scanner;
public class es {
public static void main(String[] args) {
System.out.println("Ders sayısını giriniz:");
Scanner ders = new Scanner(System.in);
int y = ders.nextInt();
System.out.println("Notları, gireceğiniz akts sırasıyla giriniz");
for (int i=1; i<=y; i++) {
System.out.println(i+".not");
Scanner s = new Scanner(System.in);
float r = s.nextFloat();
}
for (int a=1; a<=y; a++) {
System.out.println(a+".akts");
Scanner c = new Scanner(System.in);
float e = c.nextFloat() ;
}
}
}
答案 0 :(得分:0)
Scanner
的一个实例就足够了。它应该在最后关闭。示例:强>
public static void main(String... args) throws IOException {
try (Scanner scan = new Scanner(System.in)) {
System.out.print("Ders sayısını giriniz: ");
int y = scan.nextInt();
if (y == 6) {
System.out.println("Notları, gireceğiniz akts sırasıyla giriniz!");
float q = requestValue("1.not", scan::nextFloat);
float a = requestValue("2.not", scan::nextFloat);
float z = requestValue("3.not", scan::nextFloat);
float w = requestValue("4.not", scan::nextFloat);
float s = requestValue("5.not", scan::nextFloat);
float x = requestValue("6.not", scan::nextFloat);
System.out.println("Notları girdiğiniz sıra ile, akts lerini giriniz.!");
int e = requestValue("1.akts", scan::nextInt);
int d = requestValue("2.akts", scan::nextInt);
int c = requestValue("2.akts", scan::nextInt);
int r = requestValue("4.akts", scan::nextInt);
int f = requestValue("5.akts", scan::nextInt);
int v = requestValue("6.akts", scan::nextInt);
float t = q * e + a * d + z * c + w * r + s * f + x * v;
float g = t / (e + d + c + r + f + v);
System.out.println(g);
} else {
System.out.print("Sadece 6 dersi hesaplayacak algoritma bulunmaktadır.");
}
}
}
private static <T> T requestValue(String msg, Supplier<T> supplier) {
try {
System.out.print(msg + " : ");
return supplier.get();
} finally {
System.out.println();
}
}
答案 1 :(得分:0)
以下是使用基本for循环的示例实现。请注意,我不会说土耳其语(?),因此变量名称可能无法以良好的方式表达其意图。此外,我猜到了你的意图。
Scanner scanner = new Scanner(System.in);
// Get number of courses.
System.out.print("Ders sayısını giriniz: ");
int numberOfCourses = scanner.nextInt();
float[] grades = new float[numberOfCourses];
int[] akts = new int[numberOfCourses];
// Get grades.
System.out.println("Notları, gireceğiniz akts sırasıyla giriniz!");
for (int i = 0; i < numberOfCourses; i++)
{
System.out.printf("%d.not : ", i + 1);
grades[i] = scanner.nextFloat();
}
// Get akts.
System.out.println("Notları girdiğiniz sıra ile, akts lerini giriniz.!");
for (int i = 0; i < numberOfCourses; i++)
{
System.out.printf("%d.akts : ", i + 1);
akts[i] = scanner.nextInt();
}
// Calculate result.
float result = 0;
int aktsSum = 0;
for (int i = 0; i < numberOfCourses; i++)
{
result += grades[i] * akts[i];
aktsSum += akts[i];
}
result /= aktsSum;
System.out.println(result);