Java字符串与整数转换及计算权重

需积分: 9 0 下载量 177 浏览量 更新于2024-09-03 收藏 18KB TXT 举报
"这份资源是一份关于在线判题(Online Judge,简称OJ)的简单笔记,主要涵盖了字符串转换、数组处理和表格打印的基础知识。" 在编程中,数据类型之间的转换是非常常见的操作,特别是在处理用户输入或输出时。本资源提到了两种主要的转换: 1. 字符串(String)转整型(int):当我们需要将存储数字的字符串转换为整型数值时,可以使用`Integer`类的构造函数或者静态方法。例如,给定`String str = "10"`,可以创建一个`Integer`对象`Integer it = new Integer(str)`,然后通过`intValue()`方法获取整数值`int i = it.intValue()`。另一种简洁的方式是直接使用`Integer.parseInt(string)`。 2. 整型(int)转字符串(String):将整型值转换为字符串,有多种方式。方法(1)是使用`String.valueOf(int)`,如`String s = String.valueOf(i)`;方法(2)是`Integer.toString(int)`,例如`String s = Integer.toString(i)`;方法(3)是直接用加号`+`连接,`String s = "" + i`。 接下来,笔记中展示了一个简单的Java程序,用于计算输入字符串中单词的平均长度。程序首先通过`Scanner`类读取一行用户输入,然后使用`split()`方法按空格拆分成字符串数组`str_array`。接着,遍历数组计算所有单词的总长度,并除以单词数量得到平均长度。最后,使用`String.format()`方法格式化输出结果,保留两位小数。 ```java public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String str = sc.nextLine(); String[] str_array = str.split(" "); double total_length = 0; for (String s : str_array) { int length = s.length(); total_length += length; } double weight = total_length / str_array.length; String str_weight = String.format("%.2f", weight); System.out.println(str_weight); } } ``` 此外,笔记还涉及到了如何在控制台打印表格。这里用到了`StringBuffer`类,它可以方便地构建和修改字符串。程序读取两个整数`n`和`m`,分别表示行数和列数,然后使用两个`StringBuffer`对象`sb1`和`sb2`来构建表格的行头("+"字符和"---"分隔线)和行内容("|"字符)。通过循环,逐行打印出表格的边框和内部分隔线。 ```java public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()) { int n = sc.nextInt(); int m = sc.nextInt(); for (int i = 0; i < n; i++) { StringBuffer sb1 = new StringBuffer(); StringBuffer sb2 = new StringBuffer(); sb1.append("+"); sb2.append("|"); for (int j = 0; j < m; j++) { sb1.append("---"); sb1.append("+"); sb2.append("|"); } System.out.println(sb1.toString()); System.out.println(sb2.toString()); } } } ``` 这个程序可以生成一个简单的ASCII艺术表格,对于初学者来说,理解如何在控制台上打印复杂的格式很有帮助。