要点回顾:
1、JDK版本过高或过低对于 import javax.swing.JOptionPane; 会出现问题,一种解决办法是
module train6_3 { requires java.desktop; }
2、Vector对象中元素个数是可变的,且必须是某个类的对象,不可以是基本数据类型
3、String类描述字符串常量,StringBuffer类描述可变字符串
实验与训练:
1、
package train6_1;
import java.util.*;
public class Train6_1 {
public static void main(String[] args) {
Scanner reader=new Scanner(System.in);
System.out.print("请输入三角形两边边长:");
double a=reader.nextDouble();
double b=reader.nextDouble();
System.out.print("请输入三角形两条边之间的夹角:");
double c=reader.nextDouble();
System.out.println("三角形的面积是:"+1.0/2.0*a*b*Math.sin(c*(Math.PI)/180));
}
}
2、可以优化~
package train6_2;
import java.util.*;
public class Train6_2 {
public static void main(String[] args) {
Scanner reader=new Scanner(System.in);
Vector vct=new Vector();
System.out.println("请输入需要字符串的个数:");
int n=reader.nextInt();
String s[]=new String[n];
System.out.print("请输入"+n+"个字符串并以end结束:");
for(int i=0;i<s.length;i++) {
s[i]=reader.next();//字符串依次赋值
if(s[i].endsWith("end"))
break;
}
for(int i=0;i<s.length;i++) {
vct.addElement(s[i]);//字符串数组值传给vector
}
System.out.println(vct.toString());
vct.insertElementAt("NICE", n/2);//这个中间位置有点问题,vct容量为偶数是对的,奇数是错的
System.out.println("在所有字符串的中间位置插入'NICE':");
System.out.println(vct.toString());
}
}
3、最后一段逻辑比较有意思,其实可以拆开来写,对了这段代码要看一下上面的要点回顾1,有可能导包会出问题
package train6_3;
import javax.swing.JOptionPane;
public class Train6_3 {
public static void main(String[] args) {
String s=JOptionPane.showInputDialog(null,"请输入一个英文单词");
Object[] arr= {"转换为大写","转换为小写","反转显示"};
Object a=JOptionPane.showInputDialog(null,"请选择","输入",JOptionPane.INFORMATION_MESSAGE,null,arr,arr[0]);
if(a==arr[0]) {
String str1=s.toUpperCase();
JOptionPane.showMessageDialog(null,str1,"操作结果",JOptionPane.INFORMATION_MESSAGE);
}
else if(a==arr[1]) {
String str2=s.toLowerCase();
JOptionPane.showMessageDialog(null,str2,"操作结果",JOptionPane.INFORMATION_MESSAGE);
}
else {
String str3=(new StringBuffer(s).reverse().toString());//StringBuffer有个方法reverse(),所以先给输入单词换个类型,最后toString()再给它转回去
JOptionPane.showMessageDialog(null,str3,"操作结果",JOptionPane.INFORMATION_MESSAGE);
}
}
}