前言
记录本菜鸡写实验过程出现的问题,各路大神多指教,找出问题直接就评论,我不胜受恩感激。
一.内容
1.具体要求
使用Scanner类实现从键盘输入一位(或多位)同学的数学、物理、 英语三门课的成绩(用nextLine()一次读入一行,然后用split()方法 分解字符串),计算并输出该同学三门课的平均成绩。2.我的思路
首先得确定输入的是什么,输入的是同学的名字,然后三门课的成绩: 例如以下用例:社会你超姐 100 100 100
这样一方面可以利用Scanner.nextline()
直接将这一行字符串输入
另一方面可以直接用split()提取同学姓名,成绩
提取的代码如下:
String words[]=str.split(" ");
这样就可以提取到word字符串数组
这个数组的【0】号位是同学名字,其他是成绩。
然后将求和sum赋初值为零
double sum=0;
输出与求和(注意字符串转化成为double):
System.out.println("人:"+":"+words[0]);
for(int i=1;i<words.length;i++){
int m=i+1;
sum=sum+Double.parseDouble(words[i]);//尤其注意这里
System.out.println("成绩"+m+":"+words[i]);
}
System.out.println("平均成绩:"+":"+sum/(words.length-1));
3.我的代码
import java.util.Scanner;
public class ex9_1 {
public static void main(String args[]) {
Scanner reader=new Scanner(System.in);
String str= reader.nextLine();
String words[]=str.split(" ");
double sum=0;
System.out.println("人:"+":"+words[0]);
for(int i=1;i<words.length;i++){
int m=i+1;
sum=sum+Double.parseDouble(words[i]);//将字符串转化为浮点数
System.out.println("成绩"+m+":"+words[i]);
}
System.out.println("平均成绩:"+":"+sum/(words.length-1));
}
}