Skip to content

Instantly share code, notes, and snippets.

View isaacssemugenyi's full-sized avatar

Isaac Ssemugenyi isaacssemugenyi

View GitHub Profile
let mut input_file = File::open(file_path)?;
let mut contents = String::new();
input_file.read_to_string(&mut contents)?;
println!("{}", contents);
fn check_directory_exists(meter_number: &str) -> io::Result<()> {
let exists_result = metadata(meter_number)?;
match exists_result.is_dir() {
true => println!("Meter number {} exists", meter_number),
false => println!("Meter number {} is not registered.", meter_number),
}
Ok(())
}
fn create_user_meter_number(folder_name: &str) {
match create_dir(folder_name) {
Ok(_) => {
println!("Account/ Meter number '{}' created successfully", folder_name);
get_print_main_menu(folder_name);
}
Err(e) => {
eprintln!("Error generating meter number {}", e);
}
}
fn generate_random_receipt_numbers() -> (String, u32) {
let nanos = SystemTime::now()
.duration_since(UNIX_EPOCH)
.unwrap()
.subsec_nanos();
(nanos.to_string() + ".txt", nanos)
}
mod write_file;
mod terminal_print;
mod read_file;
use write_file::*;
use terminal_print::*;
use read_file::*;
public class ConsumeFacade {
public static void main(String[] args){
MyFacade facade1 = new MyFacade();
facade1.atChargeUser();
facade1.mmChargeUser();
facade1.MmPayUser();
facade1.atPayUser();
}
}
public class MyFacade {
private AtPay atPay;
private MmPay mmPay;
MyFacade(){
atPay = new AtPay();
mmPay = new MmPay();
}
public void MmPayUser(){
public class AtPay implements Payment {
@Override
public void debitUser() {
System.out.println("Money deducted from user using AtPay");
}
@Override
public void checkUserBalance() {
System.out.println("User balance checked using AtPay");
}
public class MmPay implements Payment {
@Override
public void debitUser() {
System.out.println("Money deducted from user using MmPay");
}
@Override
public void checkUserBalance() {
System.out.println("User balance checked using MmPay");
}
public interface Payment {
void debitUser();
void checkUserBalance();
void creditUser();
}