7-1 sdut-String-3 字符串字母大小写转换逆序输出

编写程序,实现字符串中的字符大小写转换,并逆序输出。

输入格式:

输入一行字符串。

输出格式:

对字符串中的字母进行大小写转换,其余字符不变化,最后对字符串逆序输出。

输入样例1:

Hello World!

输出样例1:

!DLROw OLLEh

输入样例2:

12312kfakfaskakdsfjSDFDFFSFDSFSF123 afdkadsfk@

输出样例2:

@KFSDAKDFA 321fsfsdfsffdfdsJ
import java.util. *;
public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);String s = in.nextLine();int n = s.length();for(int i = n - 1; i >= 0; i --){char c = s.charAt(i);if(c >= 'A' && c <= 'Z')c += 32;else if(c >= 'a' && c <= 'z')c -= 32;System.out.print(c);}}
}

7-2 sdut-String-4 去除字符串中数字字符逆序输出

给定一行字符串,去除其中的数字字符,并逆序输出。

输入格式:

输入一行字符串。

输出格式:

去除字符串中的数字字符,并逆序输出。

输入样例1:

He11ll00d323o  w1232154304343or8ld!

输出样例1:

!dlrow  odlleH

输入样例2:

ABC12D2434EFG hi13jk3242lmn opqr13221st u123vw xy213z

输出样例2:

zyx wvu tsrqpo nmlkjih GFED
import java.util.*;
public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);String s = in.nextLine();int n = s.length();for(int i = n - 1; i >= 0; i --){char c = s.charAt(i);if(c >= '0' && c <= '9')continue;System.out.print(c);}}
}

7-3 sdut-String-1 识蛟龙号载人深潜,立科技报国志(I)

背景简介:

“蛟龙号”载人深潜器是我国首台自主设计自主集成研制的作业型深海载人潜水器,设计最大下潜深度为7000米级,也是目前世界上下潜能力最强的作业型载人潜水器。“蛟龙号”可在占世界海洋面积99.8%的广阔海域中使用,对于我国开发利用深海的资源有着重要的意义。

中国是继美、法、俄、日之后世界上第五个掌握大深度载人深潜技术的国家。在全球载人潜水器中,“蛟龙号”属于第一梯队。目前全世界投入使用的各类载人潜水器约90艘,其中下潜深度超过1000米的仅有12艘,更深的潜水器数量更少,目前拥有6000米以上深度载人潜水器的国家包括中国、美国、日本、法国和俄罗斯。除中国外,其他4国的作业型载人潜水器最大工作深度为日本深潜器的6527米,因此“蛟龙号”载人潜水器在西太平洋的马里亚纳海沟海试成功到达7020米海底,创造了作业类载人潜水器新的世界纪录

从2009年至2012年,蛟龙号接连取得1000米级、3000米级、5000米级和7000米级海试成功。下潜至7000米说明蛟龙号载人潜水器集成技术的成熟标志着我国深海潜水器成为海洋科学考察的前沿与制高点之一

2012年6月27日11时47分,中国“蛟龙”再次刷新“中国深度”——下潜7062米。6月3日,“蛟龙”出征以来,已经连续书写了5个“中国深度”新纪录:6月15日,6671米;6月19日,6965米;6月22日,6963米;6月24日,7020米;6月27日,7062米。下潜至7000米,标志着我国具备了载人到达全球99%以上海洋深处进行作业的能力,标志着“蛟龙”载人潜水器集成技术的成熟,标志着我国深海潜水器成为海洋科学考察的前沿与制高点之一,标志着中国海底载人科学研究和资源勘探能力达到国际领先水平

‘蛟龙’号是我国载人深潜发展历程中的一个重要里程碑。它不只是一个深海装备,更代表了一种精神,一种不畏艰险、赶超世界的精神,它是中华民族进军深海的号角。

了解蛟龙号”载人深潜器“的骄人业绩,为我国海底载人科学研究和资源勘探能力达到国际领先水平而自豪,小伙伴们与祖国同呼吸、共命运,一定要学好科学文化知识、提高个人能力,增强创新意识,做事精益求精,立科技报国之志!

请编写程序,实现如下功能:读入关于蛟龙号载人潜水器探测数据的多行字符串,从给定的信息找出数字字符,输出每行的数字之和。

提示 若输入为“2012年2月”,则该行的输出为:7。每个数字字符单独相加。

输入格式:

读入关于蛟龙号载人潜水器探测数据的多行字符串,每行字符不超过100个字符。

以"end"结束。

输出格式:

与输入行相对应的各个数字之和。

输入样例1:

2012年6月27日11时47分,中国“蛟龙”再次刷新“中国深度”——下潜7062米
6月15日,6671米
6月19日,6965米
6月22日,6963米
6月24日,7020米
6月27日,7062米
下潜至7000米,标志着我国具备了载人到达全球99%以上海洋深处进行作业的能力
end

输出样例1:

48
32
42
34
21
30
25

输入样例2:

全世界投入使用的各类载人潜水器约90艘,下潜深度超过1000米的仅有12艘,更深的潜水器数量更少
6000米以上深度载人潜水器的国家包括中国、美国、日本、法国和俄罗斯
日本深潜器下潜6527米,蛟龙号在马里亚纳海沟海试成功到达7020米海底,创造了新的世界纪录
从2009年至2012年,蛟龙号接连取得1000米级、3000米级、5000米级和7000米级海试成功
下潜至7000米,说明蛟龙号载人潜水器集成技术的成熟
end

输出样例2:

13
6
29
32
7
import java.util.*;
public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);while(in.hasNext()){String line = in.nextLine();if(line.equals("end")) break;int len = line.length();long sum = 0;for(int i = 0; i < len; i ++){char c = line.charAt(i);if(c >= '0' && c <= '9')sum += (c - '0');}System.out.println(sum);}}
}

7-4 sdut-String-5 图书价格汇总(II)

假设图书馆中图书信息的格式为:

Java程序设计: 34;Web程序设计: 56;JSP程序设计:20

按要求输出每本图书的名称及价格,计算所有图书的总价格并输出。

输入格式:

读入一行图书信息。如:

Java程序设计: 34;Web程序设计: 56;JSP程序设计:20

提示:

(1)每本书的价格是整数,价格与下一本书的名字之间有一个中文;价格前可能有空格,可能没有。

(2)题目中的分号”“和冒号”“为全角字符。

输出格式:

分别输出每本图书的名称及价格,一本书占一行,形式为:书名--价格

最后,输出计算的所有图书的总价格,形式为:总价格--总价格

输入样例:

Java程序设计:34 ;Web程序设计: 56;JSP程序设计:20

输出样例:

Java程序设计--34
Web程序设计--56
JSP程序设计--20
总价格--110
import java.util.*;
import java.lang.*;
public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);String s = in.nextLine();String[] t = s.split(";");int sum = 0;int i;for(i = 0; i < t.length; i ++){String now = t[i];String[] q = now.split(":");int price=Integer.parseInt(q[1].trim());String name=q[0].trim();//.trim()用于去掉首尾的空白符sum=sum+price;System.out.println(name+"--"+price);}System.out.println("总价格--"+sum);}
}

7-5 sdut-String-2 识蛟龙号载人深潜,立科技报国志(II)(正则表达式)

背景简介:

“蛟龙号”载人深潜器是我国首台自主设计自主集成研制的作业型深海载人潜水器,设计最大下潜深度为7000米级,也是目前世界上下潜能力最强的作业型载人潜水器。“蛟龙号”可在占世界海洋面积99.8%的广阔海域中使用,对于我国开发利用深海的资源有着重要的意义。

中国是继美、法、俄、日之后世界上第五个掌握大深度载人深潜技术的国家。在全球载人潜水器中,“蛟龙号”属于第一梯队。目前全世界投入使用的各类载人潜水器约90艘,其中下潜深度超过1000米的仅有12艘,更深的潜水器数量更少,目前拥有6000米以上深度载人潜水器的国家包括中国、美国、日本、法国和俄罗斯。除中国外,其他4国的作业型载人潜水器最大工作深度为日本深潜器的6527米,因此“蛟龙号”载人潜水器在西太平洋的马里亚纳海沟海试成功到达7020米海底,创造了作业类载人潜水器新的世界纪录

从2009年至2012年,蛟龙号接连取得1000米级、3000米级、5000米级和7000米级海试成功。下潜至7000米说明蛟龙号载人潜水器集成技术的成熟标志着我国深海潜水器成为海洋科学考察的前沿与制高点之一

2012年6月27日11时47分,中国“蛟龙”再次刷新“中国深度”——下潜7062米。6月3日,“蛟龙”出征以来,已经连续书写了5个“中国深度”新纪录:6月15日,6671米;6月19日,6965米;6月22日,6963米;6月24日,7020米;6月27日,7062米。下潜至7000米,标志着我国具备了载人到达全球99%以上海洋深处进行作业的能力,标志着“蛟龙”载人潜水器集成技术的成熟,标志着我国深海潜水器成为海洋科学考察的前沿与制高点之一,标志着中国海底载人科学研究和资源勘探能力达到国际领先水平

‘蛟龙’号是我国载人深潜发展历程中的一个重要里程碑。它不只是一个深海装备,更代表了一种精神,一种不畏艰险、赶超世界的精神,它是中华民族进军深海的号角。

了解蛟龙号”载人深潜器“的骄人业绩,为我国海底载人科学研究和资源勘探能力达到国际领先水平而自豪,小伙伴们与祖国同呼吸、共命运,一定要学好科学文化知识、提高个人能力,增强创新意识,做事精益求精,立科技报国之志!

请编写程序,实现如下功能:读入关于蛟龙号载人潜水器探测数据的多行字符串,从给定的信息找出数字字符,输出每行的数字之和。

提示 若输入为“2012年2月”,则该行的输出为:2014。若干个连续的数字字符作为一个整体,以十进制形式相加。

输入格式:

读入关于蛟龙号载人潜水器探测数据的多行字符串,每行字符不超过80个字符。

以"end"结束。

输出格式:

与输入行相对应的各个整数之和。

输入样例1:

2012年6月27日11时47分,中国“蛟龙”再次刷新“中国深度”——下潜7062米
6月15日,6671米
6月19日,6965米
6月22日,6963米
6月24日,7020米
6月27日,7062米
下潜至7000米,标志着我国具备了载人到达全球99%以上海洋深处进行作业的能力
end

输出样例1:

9165
6692
6990
6991
7050
7095
7099

输入样例2:

全世界投入使用的各类载人潜水器约90艘,下潜深度超过1000米的仅有12艘,更深的潜水器数量更少
6000米以上深度载人潜水器的国家包括中国、美国、日本、法国和俄罗斯
日本深潜器下潜6527米,蛟龙号在马里亚纳海沟海试成功到达7020米海底,创造了新的世界纪录
从2009年至2012年,蛟龙号接连取得1000米级、3000米级、5000米级和7000米级海试成功
下潜至7000米,说明蛟龙号载人潜水器集成技术的成熟
end

输出样例2:

1102
6000
13547
20021
7000
import java.lang.*;
import java.util.*;
public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);while(in.hasNext()){String line = in.nextLine();if(line.equals("end")) break;String[] s = line.split("\\D+");//“\\D+”表示所有非数字字符long sum = 0;for(int i = 0; i < s.length; i ++){if(!s[i].equals(""))//避免出现空值,空值无法用parseInt转换{int data = Integer.parseInt(s[i]);sum += data;}}System.out.println(sum);}}
}

7-6 sdut-String+array1(Collection-Map)-1 读中国载人航天史,汇航天员数量,向航天员致敬(字符串+数组、LinkedMap )

1986年,中国实施“863”计划,航天技术列入其中。以载人飞船开始起步,最终建成我国的空间站。
1992年9月21日,中国实施载人航天工程,并确定了三步走的发展战略:第一步,发射载人飞船,建成初步配套的试验性载人飞船工程。第二步,突破载人飞船和空间飞行器的交会对接技术,利用载人飞船技术改装、发射一个空间实验室。第三步,建造载人空间站。

在长期的奋斗中,我国航天工作者不仅创造了非凡的业绩,而且铸就了特别能吃苦、特别能战斗、特别能攻关、特别能奉献的载人航天精神。载人航天精神,是“两弹一星”精神在新时期的发扬光大,是我们伟大民族精神的生动体现,永远值得全党、全军和全国人民学习。


截至2021年4月,历任航天英雄名字如下:
杨利伟(神舟五号)
费俊龙、聂海胜(神舟六号)
翟志刚、景海鹏、刘伯明(神舟七号)
景海鹏、刘旺、刘洋(神舟九号)
聂海胜、张晓光、王亚平(神舟十号)
景海鹏、陈东(神舟十一号)

会编程的小伙伴们,请以他们出征太空的先后顺序,统计一下航天英雄们出征太空的次数,以实际行动向航天员们致敬!

输入格式:

每次航天飞船的编号为一行读入数据,分别读入每次飞上太空的航天英雄的姓名,名字中间有一个空格分隔。
最后一行为“end“,表示输入结束。提示:目前,中国航天员的数量小于20。

输出格式:

以出征太空的先后顺序,统计航天英雄们出征太空的次数。
每位航天员占一行,航天员姓名与出征次数中间有一个空格。

输入样例:

杨利伟
费俊龙 聂海胜
翟志刚 景海鹏 刘伯明
景海鹏 刘旺 刘洋
聂海胜 张晓光 王亚平
景海鹏 陈东
end

输出样例:

杨利伟 1
费俊龙 1
聂海胜 2
翟志刚 1
景海鹏 3
刘伯明 1
刘旺 1
刘洋 1
张晓光 1
王亚平 1
陈东 1

提示:

  • 对于Java语言,此题有两种解决方案:

    • (1)使用数组来解决;
    • (2)使用java.util.Map接口的实现类LinkedMap来解决。
      • LinkedHashMap是HashMap的子类,保证在遍历map元素时,可以按照添加的顺序实现遍历,对于频繁的遍历操作,它的执 行效率高于HashMap.
  • 对于Python语言,。。。。
  • 对于C语言,。。。。。。。
import java.lang.*;
import java.util.*;
public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);String name = null;Map<String, Integer> map = new LinkedHashMap<String, Integer>();//LinkedHashMap:对于元素的插入顺序 or 访问顺序进行排序//Map是一个双列集合,一个元素包含两个值(一个key,一个value),key不允许重复,value可以重复while(in.hasNext()){name = in.next();if(name.equals("end")) break;map.put(name, map.getOrDefault(name, 0) + 1);//put存放key与value,map.getOrDefault:如果 在Map中存在key,则返回key所对应的的value,如果 在Map中不存在key,则返回默认值。}for(String it : map.keySet())//遍历输出{System.out.println(it + " " + map.get(it));}}
}

7-7 sdut-String-6 Java判断合法标识符

输入若干行字符串,判断每行字符串是否可以作为Java语法的合法标识符。

提示:Java标识符的命名规则——字符串允许包括 字母、数字、下划线_、$符号,但是数字不能作为首字母。

输入格式:

输入有多行,每行一个字符串,可能包含空格字符,字符串长度不超过20个字符。

输出格式:

若该行字符串可以作为Java标识符,则输出“true”;否则,输出“false”。

输入样例:

abc
_test
$test
a 1
a+b+c
a’b
123
变量

输出样例:

在这里给出相应的输出。例如:

true
true
true
false
false
false
false
true
import java.util.*;
public class Main {public static void main(String[] args) { Scanner in = new Scanner(System.in);while(in.hasNext()) {//得到输字符串并输出String s = in.nextLine();char part;boolean flag = true; //设立标志位char first = s.charAt(0);//得到字符串首字符//若首字符合法,继续判断后续字符if (Character.isJavaIdentifierStart(first)) {int len = s.length();//得到字符串长度int i;for (i = 1; i < len; i++) {part = s.charAt(i);if (!Character.isJavaIdentifierPart(part)) {flag = false;break;}}} else {//首字符不合法,判断结果确定非法flag = false;}if (flag) {System.out.println("true");} else {System.out.println("false");}}}
}

7-8 sdut-String--判定Java源文件名称

输入若干行字符串,判断每行字符串是否可以作为Java的源文件名称。其中:

Java源文件的命名规则:合法的 Java标识符+“.java”;

Java标识符的命名规则:可包含字母、数字、下划线、$,但是数字不能作为首字母。

输入格式:

输入有多行,每行一个字符串。

输出格式:

若该行字符串可做为Java的源文件名称,则输出“true”;否则,输出“false”。

输入样例:

abc.java
_test
$test.java
$12.java
a 1.java
a+b+c.java
a’b.java
123.java
变量.java
Main.java.java
ab abc.java

输出样例:

true
false
true
true
false
false
false
false
true
false
false
import java.util.Scanner;
public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);while (in.hasNext()) {String s = in.nextLine();if(s.endsWith(".java") && judge(s)){System.out.println("true");}else System.out.println("false");}}public static boolean judge(String str){char part;boolean flag = true; //设立标志位char first = str.charAt(0);//得到字符串首字符if (Character.isJavaIdentifierStart(first)) {int len = str.length();//得到字符串长度int i;for (i = 1; i < len - 5; i++) {part = str.charAt(i);if (!Character.isJavaIdentifierPart(part)) {flag = false;break;}}} else {flag = false;}return flag;}
}

7-9 编程题:选修课成绩统计问题

学生选修课成绩统计问题

选修课格次成绩使用字母表示,规则为:A=5,B=4,C=3,D=2,E=1

编写程序统计每个同学两门选修课的分数成绩

输入格式:多个学生的格次成绩使用西文逗号分开,整理为一行;每个学生姓名在前面,格次成绩在后,之间均使用空格分开

数据统计:将每个学生的两门课格次成绩,转换为分数成绩并求和

输出格式:结果为一行,姓名在前总分在后,之间空格分开;不同学生的记录之间使用西文逗号分开,注意最后的记录末尾没有逗号

输入格式:

多个学生的格次成绩使用西文逗号分开,整理为一行;每个学生姓名在前面,格次成绩在后,之间均使用空格分开

输出格式:

结果为一行,姓名在前总分在后,之间空格分开;不同学生的记录之间使用西文逗号分开,注意最后的记录末尾没有逗号

输入样例:

在这里给出一组输入。例如:

zs A B,ls A C,ww B C

输出样例:

在这里给出相应的输出。例如:

zs 9,ls 8,ww 7
import java.util.Arrays;
import java.util.Scanner;
public class Main{public static void main(String[] args){Scanner sc=new Scanner(System.in);String str[]=sc.nextLine().split(",");String str1[][]=new String [str.length][3];for(int i=0;i<str.length;i++){str1[i]=str[i].split(" ");}for (int i = 0; i < str.length; i++) {int grade=0;for(int j=0;j<3;j++){if(str1[i][j].equals("A")) {grade+=5;}else if(str1[i][j].equals("B")) {grade+=4;}else if(str1[i][j].equals("C")) {grade+=3;}else if(str1[i][j].equals("D")) {grade+=2;}else if(str1[i][j].equals("E")) {grade+=1;}else {grade=grade+0;}}if(i==str.length-1)System.out.println(str1[i][0]+" "+grade);elseSystem.out.print(str1[i][0]+" "+grade+",");}}
}

7-10 将一整个正整数的所有位重新排序,组成一个最大数

输入一个正整数,将这个数的所有位进行重新排序,得出最大的值。

输入格式:

输入一个正整数

输出格式:

输出排序后最大的值

输入样例:

在这里给出一组输入。例如:

19837

输出样例:

在这里给出相应的输出。例如:

98731
import java.util.*;public class Main {public static void main(String[] args) {Scanner cin = new Scanner(System.in);String a = cin.nextLine();char b[] = new char[a.length()];for(int i = 0; i < a.length(); i ++){char c = a.charAt(i);b[i] = c;}Arrays.sort(b);for(int i = a.length() - 1; i >= 0; i --)System.out.print(b[i]);}
}

2021级-JAVA07 常用类(字符串)相关推荐

  1. java 类数组_Java常用类-字符串、日期类、算法及数组工具类等

    大家好,乐字节的小乐又和大家见面了.这次要给大家讲述的是Java常用类. 主要有以下知识点: Ø 字符串相关类(String .StringBuffer.StringBuilder) Ø 算法及数组工 ...

  2. Java常用类字符串异常处理

    13.常用类 错题 1.有如下4条语句:() 有如下4条语句:()Integer i01=59; int i02=59; Integer i03=Integer.valueOf(59); Intege ...

  3. Java常用类全面解析(含部分源码)

    常用类 文章目录 常用类 字符串相关的类 String 类 说明 案例 String 的实例方式 String 中的常用方法 案例一 案例二 案例三 String 类与其它结构之间的转换 小复习-与基 ...

  4. 思维导图05----Java常用类

    Java常用类----思维导图 下载地址: https://download.csdn.net/download/q863672107/20016471 以下是自动转换的MakeDown文本 常用类 ...

  5. day20+day21:java常用类

    常用类 字符串相关的类 String StringBuffer.StringBuilder 日期时间API JDK 8 之前的日期时间API 1.System类中的currentTimeMillis( ...

  6. 面试准备——Java回顾:高级编程(多线程、常用类、集合、泛型、IO流、反射、动态代理、新特性)

    多线程 程序.进程.线程 程序:完成特定任务.用某种语言编写的一组指令的结合,一段静态的代码,静态对象: 进程:程序的一次执行过程,即正在执行的程序: 线程:进程可细化为线程,是一个程序内部的一条执行 ...

  7. 菜鸟学JAVA之——常用类(StringBuffer、StringBuilder、Comparable、Comparator等)

    文章目录 常用类 字符串相关的类 一.String类及常用方法 二.StringBuffer.StringBuilder JDK 8 之前的日期时间API 一.System静态方法 二.Date类 三 ...

  8. Java高级--Java常用类

    Java常用类 字符串相关的类 String String的实例化方式 String常用方法 String与字符数组转换 字符数组--->字符串 字符串--->字符数组 String与字节 ...

  9. java 字符串 面试题_Java常用类String的面试题汇总(java面试题)

    1.比较两个字符串时使用"=="还是equals()方法? 当然是equals方法."=="测试的是两个对象的引用是否相同,而equals()比较的是两个字符串 ...

最新文章

  1. 【c语言】求最大公约数
  2. linux运行容器,容器与云|如何在 Windows 上运行 Linux 容器
  3. mysql count if 去重_MYSQL数据去重
  4. 两线怎么接三线插座图_一文搞懂电工配电二线制、三线制、四线制
  5. jQuery EasyUI dialog 居中最简单的办法
  6. mysql统计各部门人数_2019年内蒙古普通高校招生考试各分数段人数统计表公布
  7. 200917阶段一C++双向链表模板
  8. pip install 安装报错:UnicodeEncodeError: 'ascii' codec can't encode characters in position XX的解决办法...
  9. spring5.0.2中文官网文档pdf
  10. 前端学习(1950)vue之电商管理系统电商系统之渲染添加父类的对话框
  11. 【POJ - 2406】Power Strings (KMP,最小循环节)
  12. centos改变文件拥有者_每天学点之CentOS软件二进制包安装
  13. 防备电脑死机故障技巧的8个方法
  14. xml、xhtml、html、dhtml的区别
  15. 【图论】Kruskal算法求最小生成树详解
  16. RTL8153B ,瑞昱千兆网卡芯片 ,扩展坞HUB千兆网口芯片。
  17. 我的ubuntu论坛账号
  18. server 2003 访问FTP站点下载文件,提示当前的安全设置不允许从该位置下载文件
  19. opengl绘制立方体
  20. SQL Server 错误:尝试打开或创建物理文件时,CREATE FILE 遇到操作系统错误

热门文章

  1. Elementui 表格底部空白 el-table__body-wrapper is-scrolling-none 高度错误
  2. 设置el-table 表头居中 表格内容左对齐
  3. Usboot V1.68版本
  4. android BLE蓝牙详细讲解(一)
  5. Payment Terms 收付款条件和分期付款设置
  6. EPON与APON的区别 10G EPON如何与1G EPON兼容?
  7. 金蝶云星空简单账表动态列名汇总
  8. PX4模块设计之三十一:ManualControl模块
  9. 2017中国产品经理、互联网运营大会官方回顾:未来,属于你
  10. bugku web 头等舱 writeup