读取.txt时如何使用存储的数据
How to use the data stored in .txt when reading it
我已将一些数据写入 .txt 文件,并从另一个框架读取了 .txt 文件。我是否可以使用存储在 .txt 中的数据进行一些计算。
假设 .txt 只有 1 个 Double 值。我不想只显示它。
编辑:
public WeightlossFat()
{
JPanel text = new JPanel();
text.add(bmi);
text.add(rbmi);
text.add(bmr);
text.add(rbmr);
text.add(tdee);
text.add(rtdee);
text.setLayout(new GridLayout(1,3));
JPanel percent = new JPanel();
percent.add(suggested);
percent.add(aggressive);
percent.add(reckless);
percent.setLayout(new GridLayout(3,1));
setLayout(new BorderLayout());
add(text,BorderLayout.NORTH);
add(percent,BorderLayout.CENTER);
suggested.addActionListener(this);
aggressive.addActionListener(this);
reckless.addActionListener(this);
try
{
BufferedReader bmi = new BufferedReader(new FileReader("bmi.txt"));
while((line = bmi.readLine()) != null)
{
currentline = line;
}
lastline = currentline;
rbmi.setText(lastline);
bmi.close();
BufferedReader bmr = new BufferedReader(new FileReader("bmr.txt"));
while((line = bmr.readLine()) != null)
{
currentline = line;
}
lastline = currentline;
rbmr.setText(lastline);
bmr.close();
BufferedReader tdee = new BufferedReader(new FileReader("tdee.txt"));
while((line = tdee.readLine()) != null)
{
currentline = line;
}
lastline = currentline;
rtdee.setText(lastline);
tdee.close();
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null, "File does not exist", "Error", JOptionPane.ERROR_MESSAGE);
}
}
正如您从上面的代码中看到的,我能够显示 .txt 中的内容,但是,我想使用 .txt 中的值进行一些计算。
public static double suggested(double lastline)
{
//double rate = lastline * 0.15;
//double result = lastline - rate;
//return result;
}
谁能教我如何使用这个值?
我没有完全理解你的问题。因此,对于 Java,当然,您可以 read/write .txt 文件并使用这些值进行一些计算。例如你有这个文件:
10.2
7.4
3.4
您可以读取这些值,将它们存储在向量或 ArrayList 中并进行一些微积分,例如求和。我希望这个答案对你很有用!
阅读包含各种数据(单词和数字)的文本的一种非常简单的方法是使用扫描仪。
Scanner scanner = new Scanner( new File( "x.txt" ) );
如果您希望双打:
double dVal = scanner.nextDouble();
或一个整数:
int iVal = scanner.nextInt();
您可以在阅读之前进行测试以确保文件正确无误:
if( scanner.hasNextDouble() ){
double dVal = scanner.nextDouble();
}
在你可以阅读字符串之间,"tokens":
String tok = scanner.next();
以此类推
我认为使用文本字段更好。
你可以这样使用..
插入值
JTextField txtBmi = new JTextFiled()
txtBmi.setText(bmi);
text.add(txtBmi);
获取值
int numBmi = Integer.parseInt(txtBmi.getText());
还有..你想要下面的东西对吗?
int numBmi = 0;
int numBmr = 0;
int numTdee = 0;
try
{
BufferedReader bmi = new BufferedReader(new FileReader("bmi.txt"));
while((line = bmi.readLine()) != null)
{
currentline = line;
}
lastline = currentline;
rbmi.setText(lastline);
try {
numBmi = Integer.parseInt(lastline);
} catch (Exception e) {
}
bmi.close();
BufferedReader bmr = new BufferedReader(new FileReader("bmr.txt"));
while((line = bmr.readLine()) != null)
{
currentline = line;
}
lastline = currentline;
rbmr.setText(lastline);
try {
numBmr = Integer.parseInt(lastline);
} catch (Exception e) {
}
bmr.close();
BufferedReader tdee = new BufferedReader(new FileReader("tdee.txt"));
while((line = tdee.readLine()) != null)
{
currentline = line;
}
lastline = currentline;
rtdee.setText(lastline);
try {
numTdee = Integer.parseInt(lastline);
} catch (Exception e) {
}
tdee.close();
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null, "File does not exist", "Error", JOptionPane.ERROR_MESSAGE);
}
double calBmi = suggested(numBmi);
double calBmr = suggested(numBmr);
double calTdee = suggested(numTdee);
}
public static double suggested(double inputValue)
{
double rate = inputValue * 0.15;
double result = inputValue - rate;
return result;
}
我已将一些数据写入 .txt 文件,并从另一个框架读取了 .txt 文件。我是否可以使用存储在 .txt 中的数据进行一些计算。
假设 .txt 只有 1 个 Double 值。我不想只显示它。
编辑:
public WeightlossFat()
{
JPanel text = new JPanel();
text.add(bmi);
text.add(rbmi);
text.add(bmr);
text.add(rbmr);
text.add(tdee);
text.add(rtdee);
text.setLayout(new GridLayout(1,3));
JPanel percent = new JPanel();
percent.add(suggested);
percent.add(aggressive);
percent.add(reckless);
percent.setLayout(new GridLayout(3,1));
setLayout(new BorderLayout());
add(text,BorderLayout.NORTH);
add(percent,BorderLayout.CENTER);
suggested.addActionListener(this);
aggressive.addActionListener(this);
reckless.addActionListener(this);
try
{
BufferedReader bmi = new BufferedReader(new FileReader("bmi.txt"));
while((line = bmi.readLine()) != null)
{
currentline = line;
}
lastline = currentline;
rbmi.setText(lastline);
bmi.close();
BufferedReader bmr = new BufferedReader(new FileReader("bmr.txt"));
while((line = bmr.readLine()) != null)
{
currentline = line;
}
lastline = currentline;
rbmr.setText(lastline);
bmr.close();
BufferedReader tdee = new BufferedReader(new FileReader("tdee.txt"));
while((line = tdee.readLine()) != null)
{
currentline = line;
}
lastline = currentline;
rtdee.setText(lastline);
tdee.close();
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null, "File does not exist", "Error", JOptionPane.ERROR_MESSAGE);
}
}
正如您从上面的代码中看到的,我能够显示 .txt 中的内容,但是,我想使用 .txt 中的值进行一些计算。
public static double suggested(double lastline)
{
//double rate = lastline * 0.15;
//double result = lastline - rate;
//return result;
}
谁能教我如何使用这个值?
我没有完全理解你的问题。因此,对于 Java,当然,您可以 read/write .txt 文件并使用这些值进行一些计算。例如你有这个文件: 10.2 7.4 3.4
您可以读取这些值,将它们存储在向量或 ArrayList 中并进行一些微积分,例如求和。我希望这个答案对你很有用!
阅读包含各种数据(单词和数字)的文本的一种非常简单的方法是使用扫描仪。
Scanner scanner = new Scanner( new File( "x.txt" ) );
如果您希望双打:
double dVal = scanner.nextDouble();
或一个整数:
int iVal = scanner.nextInt();
您可以在阅读之前进行测试以确保文件正确无误:
if( scanner.hasNextDouble() ){
double dVal = scanner.nextDouble();
}
在你可以阅读字符串之间,"tokens":
String tok = scanner.next();
以此类推
我认为使用文本字段更好。 你可以这样使用..
插入值
JTextField txtBmi = new JTextFiled()
txtBmi.setText(bmi);
text.add(txtBmi);
获取值
int numBmi = Integer.parseInt(txtBmi.getText());
还有..你想要下面的东西对吗?
int numBmi = 0;
int numBmr = 0;
int numTdee = 0;
try
{
BufferedReader bmi = new BufferedReader(new FileReader("bmi.txt"));
while((line = bmi.readLine()) != null)
{
currentline = line;
}
lastline = currentline;
rbmi.setText(lastline);
try {
numBmi = Integer.parseInt(lastline);
} catch (Exception e) {
}
bmi.close();
BufferedReader bmr = new BufferedReader(new FileReader("bmr.txt"));
while((line = bmr.readLine()) != null)
{
currentline = line;
}
lastline = currentline;
rbmr.setText(lastline);
try {
numBmr = Integer.parseInt(lastline);
} catch (Exception e) {
}
bmr.close();
BufferedReader tdee = new BufferedReader(new FileReader("tdee.txt"));
while((line = tdee.readLine()) != null)
{
currentline = line;
}
lastline = currentline;
rtdee.setText(lastline);
try {
numTdee = Integer.parseInt(lastline);
} catch (Exception e) {
}
tdee.close();
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null, "File does not exist", "Error", JOptionPane.ERROR_MESSAGE);
}
double calBmi = suggested(numBmi);
double calBmr = suggested(numBmr);
double calTdee = suggested(numTdee);
}
public static double suggested(double inputValue)
{
double rate = inputValue * 0.15;
double result = inputValue - rate;
return result;
}