读取文本文件并确定最昂贵购买的程序
A program that reads a text file and determines the most expensive purchase
我需要帮助的程序涉及读取一个 .txt 文件,其中包含
来自信用卡的交易,例如:杂货 50.36 美元,汽油 41.20 美元等,我需要找到最贵的物品并打印 item.I 的名称和价格,我在寻找获取和分辨哪个的方法时遇到问题一个是最贵的。我如何读取和获取整数并将它们与其余整数进行比较以查看哪个更大?
import java.io.*;
import java.util.*;
public class Transcation {
public static void main(String[] args)throws IOException {
Scanner console = new Scanner(System.in);
System.out.println("Enter the directory of file: "); //ask for file
String filename = console.nextLine(); //input directory of file
File inputFile = new File(filename);
if(!inputFile.exists()){ //if it does not exist print error,end
System.out.println("Transaction.txt not found");
System.exit(0);
}
Scanner input = new Scanner(inputFile); //reads and access the file
String line;
while(input.hasNext()){ //while its still has more lines loop
line = input.nextLine();
//System.out.println(line); //prints the next line
}
input.close(); //closes file
}
}
您可以通过 ' '
将字符串拆分为名称和值。将值解析为 double
。
像这样:
String[] parts = yourStringFromFileLine.split( " " );
// access the parts
String name = parts[ 0 ]; // name if item
double price = Double.parseDouble( parts[ 1 ] ); // price of item
将名称 Map
中的每一行保存为 key
,将价格保存为 value
。
像这样:
Map<String, Integer> map = new HashMap<String, Integer>();
// add content to map
map.put( name , price );
读完文件后,遍历 Map
并找到 key
的最高 value
。
像这样:
double tempPrice = 0.0;
for ( Map.Entry<String, Integer> entry : map ) {
if ( entry.getValue() > tempPrice ) {
tempPrice = entry.getValue();
}
}
最后tempPrice
是所有参赛作品中的最高价。
希望这对您有所帮助。
我需要帮助的程序涉及读取一个 .txt 文件,其中包含 来自信用卡的交易,例如:杂货 50.36 美元,汽油 41.20 美元等,我需要找到最贵的物品并打印 item.I 的名称和价格,我在寻找获取和分辨哪个的方法时遇到问题一个是最贵的。我如何读取和获取整数并将它们与其余整数进行比较以查看哪个更大?
import java.io.*;
import java.util.*;
public class Transcation {
public static void main(String[] args)throws IOException {
Scanner console = new Scanner(System.in);
System.out.println("Enter the directory of file: "); //ask for file
String filename = console.nextLine(); //input directory of file
File inputFile = new File(filename);
if(!inputFile.exists()){ //if it does not exist print error,end
System.out.println("Transaction.txt not found");
System.exit(0);
}
Scanner input = new Scanner(inputFile); //reads and access the file
String line;
while(input.hasNext()){ //while its still has more lines loop
line = input.nextLine();
//System.out.println(line); //prints the next line
}
input.close(); //closes file
}
}
您可以通过 ' '
将字符串拆分为名称和值。将值解析为 double
。
像这样:
String[] parts = yourStringFromFileLine.split( " " );
// access the parts
String name = parts[ 0 ]; // name if item
double price = Double.parseDouble( parts[ 1 ] ); // price of item
将名称 Map
中的每一行保存为 key
,将价格保存为 value
。
像这样:
Map<String, Integer> map = new HashMap<String, Integer>();
// add content to map
map.put( name , price );
读完文件后,遍历 Map
并找到 key
的最高 value
。
像这样:
double tempPrice = 0.0;
for ( Map.Entry<String, Integer> entry : map ) {
if ( entry.getValue() > tempPrice ) {
tempPrice = entry.getValue();
}
}
最后tempPrice
是所有参赛作品中的最高价。
希望这对您有所帮助。