task 8
This commit is contained in:
parent
3ffc40596a
commit
9a4508f8a0
3 changed files with 111 additions and 1 deletions
|
@ -1,5 +1,5 @@
|
||||||
# PPJ
|
# PPJ
|
||||||
|
|
||||||
This branch contains the solution for the **nth task**.
|
This branch contains the solution for the **8th task**.
|
||||||
|
|
||||||
[Go back to main](/femsci/ppj/src/branch/nya)
|
[Go back to main](/femsci/ppj/src/branch/nya)
|
||||||
|
|
32
dev/meowmeow/CuteLemmas.java
Normal file
32
dev/meowmeow/CuteLemmas.java
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
/*
|
||||||
|
* TASK 8
|
||||||
|
* archived at https://git.femboy.science/femsci/ppj/src/branch/task/8
|
||||||
|
* by femsci
|
||||||
|
*
|
||||||
|
* written during a mental breakdown, vibing to The Cure - Disintegration
|
||||||
|
*/
|
||||||
|
|
||||||
|
package dev.meowmeow;
|
||||||
|
|
||||||
|
import static dev.meowmeow.NamingUtils.*;
|
||||||
|
|
||||||
|
// :3
|
||||||
|
public class CuteLemmas {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
|
||||||
|
// brace yourselves for a sysout frenzy
|
||||||
|
|
||||||
|
System.out.println(norm("caravaggio"));
|
||||||
|
System.out.println(norm("VERMEER"));
|
||||||
|
System.out.println(init("johann sebastian bach"));
|
||||||
|
System.out.println(init("i. babeL"));
|
||||||
|
System.out.println(init("jorge LUIS BORGES"));
|
||||||
|
System.out.println(init("WOLFGANG a. mozart"));
|
||||||
|
System.out.println(tr("Mississippi",
|
||||||
|
"abcdefghijklmnopqrstuvwyz",
|
||||||
|
"BCDEFGHIJKLMNOPQRSTUVWYZA"));
|
||||||
|
System.out.println(tr("abcXYZ", "aZcX", "||Cx"));
|
||||||
|
|
||||||
|
System.out.println(norm(tr("haiii ", "h ", "pn")));
|
||||||
|
}
|
||||||
|
}
|
78
dev/meowmeow/NamingUtils.java
Normal file
78
dev/meowmeow/NamingUtils.java
Normal file
|
@ -0,0 +1,78 @@
|
||||||
|
/*
|
||||||
|
* TASK 8
|
||||||
|
* archived at https://git.femboy.science/femsci/ppj/src/branch/task/8
|
||||||
|
* by femsci
|
||||||
|
*/
|
||||||
|
|
||||||
|
package dev.meowmeow;
|
||||||
|
|
||||||
|
//cute atomic purely functional meows~
|
||||||
|
|
||||||
|
public class NamingUtils {
|
||||||
|
// normeow
|
||||||
|
public static String norm(String name) {
|
||||||
|
if (name.length() == 0) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
return String.format("%c%s", Character.toUpperCase(name.charAt(0)), name.substring(1).toLowerCase());
|
||||||
|
}
|
||||||
|
|
||||||
|
// init 6
|
||||||
|
public static String init(String name) {
|
||||||
|
String[] sgmt = name.split(" ");
|
||||||
|
|
||||||
|
if (sgmt.length == 0) {
|
||||||
|
throw new IllegalArgumentException("invalid data");
|
||||||
|
}
|
||||||
|
|
||||||
|
int len = sgmt.length;
|
||||||
|
|
||||||
|
StringBuffer buf = new StringBuffer();
|
||||||
|
|
||||||
|
// alnamic names :3
|
||||||
|
for (int c = 0; c < len - 1; ++c) {
|
||||||
|
String silliname = sgmt[c];
|
||||||
|
if (silliname.endsWith(".")) {
|
||||||
|
if (silliname.length() != 2) {
|
||||||
|
throw new IllegalArgumentException("only initials may end with a '.'");
|
||||||
|
}
|
||||||
|
|
||||||
|
buf.append(silliname.toUpperCase()).append(' ');
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
buf.append(String.format("%c.", Character.toUpperCase(silliname.charAt(0)))).append(' ');
|
||||||
|
}
|
||||||
|
|
||||||
|
// lname
|
||||||
|
buf.append(norm(sgmt[len - 1]));
|
||||||
|
|
||||||
|
return buf.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
// trills
|
||||||
|
public static String tr(String s, String assMapFrom, String assMapTo) {
|
||||||
|
// hehe >:3c
|
||||||
|
// Runtime.getRuntime().exec(new String[] {
|
||||||
|
// "/usr/bin/bash",
|
||||||
|
// String.format("-c \"echo '%s' | tr '%s' '%s'\"", s, from, to)
|
||||||
|
// });
|
||||||
|
|
||||||
|
if (assMapFrom.length() != assMapTo.length()) {
|
||||||
|
throw new IllegalArgumentException("mapping sets must have same len");
|
||||||
|
}
|
||||||
|
|
||||||
|
StringBuffer buf = new StringBuffer(s.length());
|
||||||
|
|
||||||
|
for (int rcx = 0; rcx < s.length(); ++rcx) {
|
||||||
|
char meow = s.charAt(rcx);
|
||||||
|
int assIdx = assMapFrom.indexOf(meow);
|
||||||
|
char meowie = assIdx == -1 ? meow : assMapTo.charAt(assIdx);
|
||||||
|
|
||||||
|
buf.append(meowie);
|
||||||
|
}
|
||||||
|
|
||||||
|
return buf.toString();
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue