实验1 检索简历
mess.indexOf(":"); //代码1 mess调用indexOf(String s)方法返回字符串中首次出现冒号的位置
mess.indexOf(":", index + 1); //代码2 mess调用indexOf(String s, int start)方法返回字符串中第二次出现冒号的位置
mess.indexOf("身高"); //代码3 mess调用indexOf(String s)方法返回字符串中首次出现“身高”的位置
mess.indexOf(":", heightPosition + 1); //代码4 mess调用indexOf(String s, int start)方法返回字符串中“身高”后面的冒号的位置
mess.lastIndexOf(":"); //代码5 mess调用lastIndexOf(String s)方法返回字符串中最后一个冒号的位置
- 实验后的练习
FirstBCFirstBC
FirstSecondCFirstSecondC
FirstSecondThirdFirstSecondThird
String s2 = Long.toBinaryString(12345);
String s8 = Long.toOctalString(12345);
String s16 = Long.toHexString(12345);
System.out.println("二进制:" + s2 + " 八进制:" + s8 + " 十六进制" + s16);
实验2 购物小票
- 实验后练习
String regex = "[0123456789.]+元";
String temp = s2.replaceAll(regex, "");
temp = temp.replaceAll(":", " ");
temp = temp.replaceAll(",", " ");
System.out.println("货品名称:" + temp);
实验3 成绩单
new Scanner(chengjiForm); //代码1 创建Scanner,将chengjiForm传递给构造方法的参数
scanner.useDelimiter(regex); //代码2 scanner调用useDelimiter(String regex),将regex传递给该方法的参数
scanner.nextDouble(); //代码3 scanner调用nextDouble()返回数字单词
- 实验后练习
package ScannerParseString;
import java.util.InputMismatchException;
import java.util.Scanner;
public class ScannerParse {
public static void main (String args[]) {
String menu = "北京烤鸭:189,西芹炒肉:12.9,酸菜鱼:69,铁板牛柳:32";
Scanner inTo = new Scanner(menu);
String regex = "[^0123456789.]+";
inTo.useDelimiter(regex);
double sum = 0;
while(inTo.hasNext()) {
try {
double price = inTo.nextDouble();
sum = sum + price;
System.out.println(price);
}
catch(InputMismatchException exp) {
String t = inTo.next();
} //当单词不是数字型单词时,调用nextInt()或nextDouble()产生异常
}
System.out.println("总价格:" + sum);
}
}
习题9
- 1.ABD,C的值是 true;
这个true只是一个巧合,Java编译器在编译期,会自动把所有相同的字符串当作一个对象放入常量池中; - 2.Love:Game
- 3.不同编码的汉字占字节数不同,链接:Java中汉字占几个字节.
15,abc我们;(这是按照两个字节算的) - 4.
13579
- 5.
9javaHello
,str1多了第一个8; - 6.代码:
String str1 = "hELLO",
str2 = "World";
str1 = str1.toLowerCase();
str2 = str2.toUpperCase();
str1 = str1.concat(str2);
System.out.println(str1);
- 7.代码:
String str1 = "hELLO";
System.out.println(str1.charAt(0) + ":" + str1.charAt(str1.length() - 1));
- 8.代码:
InputYearAndMonth.java
package calendar;
import java.util.Scanner;
public class InputYearAndMonth {
public static void main(String args[]) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入年份:");
int year = scanner.nextInt();
System.out.print("请输入月份:");
int month = scanner.nextInt();
CalendarBean calendarBean = new CalendarBean();
calendarBean.setYear(year);
calendarBean.setMonth(month);
String[] a = calendarBean.getCalendar();
char[] str = "日一二三四五六".toCharArray();
for(char c : str) {
System.out.printf("%3c", c);
}
for(int i = 0; i < a.length; i++) {
if(i % 7 == 0) {
System.out.println("");
}
System.out.printf("%4s", a[i]);
}
}
}
CalendarBean.java
package calendar;
import java.util.Calendar;
public class CalendarBean {
String [] day;
int year = 0, month = 0;
public void setYear(int year) {
this.year = year;
}
public void setMonth(int month) {
this.month = month;
}
public String[] getCalendar() {
String[] a = new String[42];
Calendar rili = Calendar.getInstance();
rili.set(year, month - 1, 1);
int weekDay = rili.get(Calendar.DAY_OF_WEEK) - 1; //计算出1号的星期
int day = 0;
if(month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) {
day = 31;
}
if(month == 4 || month == 6 || month == 9 || month == 11) {
day = 30;
}
if(month == 2) {
if(((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) {
day = 29;
}
else {
day = 28;
}
}
for(int i = 0; i < weekDay; i++) {
a[i] = " ";
}
for(int i = weekDay, n = 1; i < weekDay + day; i++) {
a[i] = String.valueOf(n);
n++;
}
for(int i = weekDay + day; i < a.length; i++) {
a[i] = " ";
}
return a;
}
}
- 9.代码:
Interval.java
package numbersOfDaysBetween;
import java.util.*;
//静态导入Calendar类的静态常量
import static java.util.Calendar.*; //第18行,直接获取当前月份
public class Interval {
public static void main(String args[]) {
Calendar calendar = Calendar.getInstance();
Scanner scanner = new Scanner(System.in);
System.out.print("请输入年:");
int y1 = scanner.nextInt();
System.out.print("请输入月:");
int m1 = scanner.nextInt();
System.out.print("请输入日:");
int d1 = scanner.nextInt();
calendar.set(y1, m1 - 1, d1);
System.out.println(calendar.get(MONTH));
long time1 = calendar.getTimeInMillis();
System.out.print("请输入年:");
int y2 = scanner.nextInt();
System.out.print("请输入月:");
int m2 = scanner.nextInt();
System.out.print("请输入日:");
int d2 = scanner.nextInt();
calendar.set(y2, m2 - 1, d2);
long time2 = calendar.getTimeInMillis();
long days = (time2 - time1) / (1000 * 60 * 60 * 24);
System.out.printf("%d-%d-%d 和 %d-%d-%d\n相隔%d天\n", y2, m2, d2, y1, m1, d1, days);
}
}
链接:Calendar中的常量值.
- 10.代码:
MathTest.java
package mathStaticMethod;
public class MathTest {
public static void main(String args[]) {
double a = -6.66;
System.out.println(Math.abs(a));
System.out.println(Math.max(Math.E, Math.PI));
System.out.println(Math.min(Math.E, Math.PI));
System.out.println(Math.random());
System.out.println(Math.pow(Math.E, a));
System.out.println(Math.sqrt(Math.PI));
System.out.println(Math.log(a));
System.out.println(Math.sin(a));
System.out.println(Math.asin(a));
}
}
- 11.代码:
StringRemoved.java
package stringParsing;
import java.util.InputMismatchException;
import java.util.Scanner;
public class StringRemoved {
public static void main(String args[]) {
String regex = "[^0123456789]+";
String str = "ab123you";
Scanner scanner = new Scanner(str);
scanner.useDelimiter(regex);
while(scanner.hasNext()) {
try {
System.out.println(scanner.next());
}
catch (InputMismatchException exp) {
String t = scanner.next();
}
}
}
}
- 12.代码:
和11题代码差别不大
StringRemoved.java
package stringParsing;
import java.util.InputMismatchException;
import java.util.Scanner;
public class StringRemoved {
public static void main(String args[]) {
String regex = "[^0123456789]+";
String charge = "数学87分,物理76分,英语96分";
Scanner scanner = new Scanner(charge);
scanner.useDelimiter(regex);
double sum = 0;
while(scanner.hasNext()) {
try {
sum = sum + scanner.nextDouble();
}
catch (InputMismatchException exp) {
String t = scanner.next();
}
}
System.out.println("总成绩:" + sum + " 平均分数:" + sum / 3);
}
}