基本常识
1.何为水仙花数?
水仙花数只是自幂数的一种,即3位数的3次幂数等于本身的数字
2.举个栗子
153是一个水仙花数,153=(1*1*1)+(5*5*5)+(3*3*3)=1+125+27
基本思路
如何求出水仙花数?
1.首先求出每个位权上的数字即百位、十位、个位上的数字
2.其次把输入的数字和具有水仙花数特征的数相比较
3.最后把如果是水仙花数直接输出若不是则重新输入
示例代码
// 导入java的Scanner类
import java.util.Scanner;
//创建一个WaterFlower类,类名可以随便编写
class WaterFlower
{
public static void main(String[]args)
{
//输出相关信息
System.out.println("Please input a number:");
//实例化对象,对象名可随便编写
Scanner hh=new Scanner(System.in);
//调用实例化对象的方法,读取输入的数字
int i=hh.nextInt();
//求出个位上的数字
int unit=i%10;
//求出十位上的数字
int dec=i/10%10;
//求出百位上的数字
int hundred=i/10/10%10;
//把输入的数字和具有水仙花数特征的数相比较
if(unit*unit*unit+dec*dec*dec+hundred*hundred*hundred==i)
{
System.out.println("WaterFlower:"+i);
}
else
{
System.out.println("Your number is wrong,please input number again!");
}
}
}
二、读取文本内容
1.必须捕获IOException异常
2.文件对象
3.文件输入流
4.导入io包
import java.io.*;
class Main
{
public static void main(String[] args)
{
try
{
String line;
String fileName = "c:/Users/12393/Desktop/a.text";
File file = new File(fileName);
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
while((string = br.readLine()) != null)
{
System.out.println(string);
}
}
catch(IOException e)
{
System.out.println("Fail!");
}
}
}
三、读取二进制内容
1.必须捕获IOException异常
2.文件输入流
3.导入io包
import java.io.*;
class Main
{
public static void main(String[] args)
{
DataInputStream dis = null;
try
{
int num;
dis = new DataInputStream(new FileInputStream("C:\\Users\\12393\\Desktop\\a.text"));
while((num=dis.read())!=-1)
{
System.out.print((char)num);
}
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
if (dis!=null)
{
try
{
dis.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
}
}