import java.util.Scanner;
public class GradePointAverage {
public static void main(String[] args) {
Scanner peace = new Scanner(System.in);
System.out.print("How many subjects do you want to enter?: ");
int a=peace.nextInt();
String[] b = new String[a];
for(int i=0;i<a;i++) {
b[i]="";
System.out.print("Enter Subject No "+(i+1)+" ");
String c=peace.next();
}
for(i=0;i<b.length;i++) {
System.out.print(b[i]);
}
}
}
问候。 :) 我们有一个编程实验,我被困在这一部分。我需要询问用户他想要输入多少科目并要求用户输入科目。我想我已经在阵列中输入了主题,但是当我想看到阵列的内容时,它不能给我我想要的输出,我输入的主题不会出现。请帮助,我在这个网站上新来的,这是我第一次在这样的论坛上提问。希望有人回复。感谢。
答案 0 :(得分:4)
您永远不会将主题放入数组中。
import java.util.Scanner;
public class GradePointAverage
{
public static void main(String[] args)
{
int i;
Scanner peace=new Scanner(System.in);
System.out.print("How many subjects do you want to enter?: ");
int a=peace.nextInt();
String []b=new String [a];
for(i=0;i<a;i++)
{
System.out.print("Enter Subject No "+(i+1)+" ");
b[i]=peace.next();
}
for(i=0;i<b.length;i++)
{
System.out.print(b[i]);
}
}
}
答案 1 :(得分:2)
您永远不会将字符串分配给数组。
更改
String c=peace.next();
到
b[i] = peace.next();
此外,您应该在打印数组时添加一些分隔符(或新行):
public static void main(String[] args)
{
Scanner peace = new Scanner(System.in);
System.out.print("How many subjects do you want to enter?: ");
int a = peace.nextInt();
String[] b = new String[a];
for(int i = 0; i < a; i++) {
System.out.print("Enter Subject No " + (i + 1) + " ");
b[i] = peace.next();
}
for(i = 0; i < b.length; i++) {
System.out.print(b[i] + " ");
}
}
答案 2 :(得分:0)
import java.util.Scanner;
public class GradePointAverage
{
public static double processAverage(int []SubjectGrades,int SubjectsNumber)
{
double sum=0;
double Ave=0;
for(int i=0;i<SubjectGrades.length;i++)
{
sum=SubjectGrades[i]+sum;
}
Ave=sum/SubjectsNumber;
return Ave;
}
public static int processNumericalValue(double Ave)
{
int Numeral;
if(Ave>=98.0&&Ave<100.0)
{
Numeral=4;
}
else if(Ave>=90.0&&Ave<98.0)
{
Numeral=3;
}
else if(Ave>=80.0&&Ave<90.0)
{
Numeral=2;
}
else if(Ave>=75.0&&Ave<80.0)
{
Numeral=1;
}
else
{
Numeral=0;
}
return Numeral;
}
public static void processLetterGrade(int Numeral)
{
if(Numeral==4)
{
System.out.println("Congratulations!");
}
else if(Numeral==3)
{
System.out.println("Your Letter Grade is B!");
}
else if(Numeral==2)
{
System.out.println("Your Letter Grade is C!");
}
else if(Numeral==1)
{
System.out.println("Your Letter Grade is D!");
}
else
{
System.out.println("You Failed!");
}
}
public static void main(String[] args)
{
double Ave=0;
Scanner peace=new Scanner(System.in);
System.out.print("How many subjects do you want to enter?: ");
int SubjectsNumber=peace.nextInt();
int []SubjectGrades=new int [SubjectsNumber];
String []Subjects=new String [SubjectsNumber];
for(int i=0;i<SubjectsNumber;i++)
{
Subjects[i]="";
System.out.print("Enter Subject No "+(i+1)+": ");
Subjects[i]=peace.next();
System.out.println("What is your grade in "+Subjects[i]+": ");
SubjectGrades[i]=peace.nextInt();
}
int Numeral;
Ave=processAverage(SubjectGrades,SubjectsNumber);
System.out.println("Your General Average is: "+Ave);
Numeral=processNumericalValue(Ave);
System.out.println("Numerical Value is: "+Numeral);
processLetterGrade(Numeral);
}
}