java课程实验九内容一


前言

记录本菜鸡写实验过程出现的问题,各路大神多指教,找出问题直接就评论,我不胜受恩感激。


一.内容

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));
	   } 
	   
}

注意事项与总结

首先要注意的事sum得赋初值为零 其次要注意这里的word是字符串,要求和的时候必须转化成浮点型使用 Double.parseDouble(string)

Guess you like

Origin blog.csdn.net/weixin_51422230/article/details/121148611