练习一:制作图示表格

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位空格,在按行输出的情况下导致成绩栏无法对齐
在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);
}
}
输出结果为
比较简单,无技术含量

这篇博客讨论了在Java编程中遇到的问题,主要涉及输入输出处理和数组对齐。作者通过示例展示了如何从键盘读取学生姓名和成绩,并计算平均分。在输出时,发现制表符导致名字长度不一的对齐问题,最终通过调整输出格式解决。此外,还提及了尝试获取数组元素长度的挑战以及对静态变量的理解。
https://blog.youkuaiyun.com/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
2万+

被折叠的 条评论
为什么被折叠?



