Java字符串与整数转换及计算权重
需积分: 9 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艺术表格,对于初学者来说,理解如何在控制台上打印复杂的格式很有帮助。
2021-09-29 上传
2022-09-24 上传
2023-12-20 上传
2020-01-02 上传
2022-07-14 上传
2021-09-29 上传
Wendy冬雪飘
- 粉丝: 403
- 资源: 5
最新资源
- MATLAB实现小波阈值去噪:Visushrink硬软算法对比
- 易语言实现画板图像缩放功能教程
- 大模型推荐系统: 优化算法与模型压缩技术
- Stancy: 静态文件驱动的简单RESTful API与前端框架集成
- 掌握Java全文搜索:深入Apache Lucene开源系统
- 19计应19田超的Python7-1试题整理
- 易语言实现多线程网络时间同步源码解析
- 人工智能大模型学习与实践指南
- 掌握Markdown:从基础到高级技巧解析
- JS-PizzaStore: JS应用程序模拟披萨递送服务
- CAMV开源XML编辑器:编辑、验证、设计及架构工具集
- 医学免疫学情景化自动生成考题系统
- 易语言实现多语言界面编程教程
- MATLAB实现16种回归算法在数据挖掘中的应用
- ***内容构建指南:深入HTML与LaTeX
- Python实现维基百科“历史上的今天”数据抓取教程