1 水仙花数
"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。
例如,153 是一个"水仙花数",因为
153 = 1的三次方+5的三次方+3的三次方
解决思路:用一个 for 循环在三位数中,用 / % 取出这个数的个位,十位,百位,再 if 一下,输出这个数字;
public class id4 {
public static void main(String[] args) {
for(int i = 100; i < 1000; i++){
int c = i % 10;
int b = i / 10 % 10;
int a = i / 100 % 10;
if(a * a * a + b * b * b + c * c *c == i)
System.out.print(i + "\t");
}
}
}
这里是用 print ,不换行;
2 条件运算符嵌套
学习成绩> =90 分的同学用A 表示,60-89 分之间的用B 表示,60 分以下的用C 表示。
思路:用三元表达式
import java.util.Scanner;
public class id5 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.println("请输入成绩:");
double score = s.nextDouble();
char c = score >= 90 ? 'A': (score >=60 && score <=89 ? 'B' : (score < 60 ? 'C':'S'));
System.out.println("您的等级是:"+c);
}
}
3 文本文件读写
读一个文件,写到另一个文件;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class id6 {
public static void main(String[] args) {
String filename = "S:\\31\\javaprj\\test1.txt";
File filename_2 = new File("S:\\31\\javaprj\\test3.txt");
try {
//创建流
InputStream in = new FileInputStream(filename);
OutputStream out = new FileOutputStream(filename_2);
try {
//创建缓存区域读取字节文件
byte buffer[] = new byte[in.available()];
//读取字节文件
in.read(buffer);
//对字节进行处理
String str = new String(buffer);
System.out.println(str);
//向该路径写入内容
out.write(str.getBytes());
//关闭流
in.close();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e1) {
e1.printStackTrace();
}
}
}
使用FileInputStream和OutputStream类;
in.read(buffer);
读进buffer,buffer是字节数组;
String str = new String(buffer);
字节数组转化为字符串;
命令行构建和运行结果如下;有时候会不小心打错;
项目和读写后的文件;