Java练习小结

练习一:制作图示表格

package Text;

import java.awt.*;
import java.util.Arrays;
import java.sql.SQLOutput;
import java.util.Formattable;
import java.util.Formatter;
import java.util.Scanner;

public class EX02 {
    public static void main(String[] args) {
        double Averge=0.0,sum=0.0;
        String[] Names=new String[50];
        double[] Score=new double[50];
        int i,j=5;
        for(i=0;i<j;i++) {
            Scanner Name = new Scanner(System.in);
            System.out.print("请输入学生姓名:");
            Names[i]=Name.nextLine();//nextLine可以接受空格,遇到回车结束输入
            Scanner score = new Scanner(System.in);
            System.out.print("\t请输入该生java成绩:");
            Score[i]=score.nextDouble();
        }
        System.out.println("----------------------");
        System.out.println("   2020信工java成绩");
        System.out.println("序号     姓名     成绩");
        for(i=0;i<j;i++) {
            System.out.print(i+1+"\t\t");
            System.out.print(Names[i]);
            System.out.printf("\t%-3.1f\n",Score[i]);
        }
        for(i=0;i<j;i++){
            sum+=Score[i];
            Averge=(1.0/j)*sum;
        }
        System.out.println("平均分:\t"+Averge);
        System.out.println("----------------------");
    }
  }

输出结果为

 从键盘读取姓名时,遇到两个字的姓名,中间要空两格,否则成绩栏无法对齐

【遇到的困难】

①在输入两个字的名字,如“张蕾”时,由于“张蕾”不足8位,制表符补全当前字符串长度到8,

而在输入三个字的名字时,制表符\t额外增加了8位空格,在按行输出的情况下导致成绩栏无法对齐

②尝试使用方法打印出数组中某个元素的长度,失败。使用length只会输出整个数组的长度,搜寻半天得知https://blog.csdn.net/trustme___/article/details/109094903?ops_request_misc=&request_id=&biz_id=102&utm_term=java%E4%B8%AD%E5%A6%82%E4%BD%95%E8%8E%B7%E5%BE%97%E6%95%B0%E7%BB%84%E7%9A%84%E7%9C%9F%E6%98%AF%E9%95%BF%E5%BA%A6&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-3-109094903.first_rank_v2_pc_rank_v29&spm=1018.2226.3001.4187https://blog.csdn.net/trustme___/article/details/109094903?ops_request_misc=&request_id=&biz_id=102&utm_term=java%E4%B8%AD%E5%A6%82%E4%BD%95%E8%8E%B7%E5%BE%97%E6%95%B0%E7%BB%84%E7%9A%84%E7%9C%9F%E6%98%AF%E9%95%BF%E5%BA%A6&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-3-109094903.first_rank_v2_pc_rank_v29&spm=1018.2226.3001.4187icon-default.png?t=LA92https://blog.csdn.net/trustme___/article/details/109094903?ops_request_misc=&request_id=&biz_id=102&utm_term=java%E4%B8%AD%E5%A6%82%E4%BD%95%E8%8E%B7%E5%BE%97%E6%95%B0%E7%BB%84%E7%9A%84%E7%9C%9F%E6%98%AF%E9%95%BF%E5%BA%A6&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-3-109094903.first_rank_v2_pc_rank_v29&spm=1018.2226.3001.4187

在Java中没有函数可以获得数组的实际长度

③尝试将成绩数组即Score[]单独输出,创建一个新的方法。但需要使用类似C语言中的全局变量,查阅得知java中定义一个静态变量static可起到与全局变量相同的效果,但今天也只是浅尝即止,不求甚解,今后再去学习

暂时无更优解,愿意接受大家指教


 2021年11月12日修改

//将输出循环改为
for(i=0;i<j;i++) {
            System.out.printf("%d\t  %5s\t%-3.1f\n",(i+1),Names[i],Score[i]);
        }
//可以成功对齐

结果为:

 (感谢老师和各位同学)


 

 

练习2:

package Text;

import java.util.Scanner;

public class Ex03 {
    public static void main(String[] args) {
        System.out.println("--------------------------------------------");
        System.out.println("             商场推出幸运抽奖活动");
        System.out.println("抽奖规则:");
        System.out.println("     4位会员卡号的各位数字之和大于20即为幸运顾客");
        System.out.println("--------------------------------------------");
        int A,B,C,D,Sum=0;
        Scanner Num=new Scanner(System.in);
        System.out.println("请输入4位会员卡号:");
        int num=Num.nextInt();
        D=num%10;
        C=(num%100)/10;
        B=(num%1000)/100;
        A=num/1000;
        Sum=A+B+C+D;
        boolean truth=(Sum>20);
        System.out.println("会员卡号"+num+"各位之和:"+Sum);
        System.out.println("是幸运顾客吗?\n"+truth);

    }
}

输出结果为

 比较简单,无技术含量

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值