#java.io.InputStreamReader
Explore tagged Tumblr posts
Text
${(new java.io.BufferedReader(new java.io.InputStreamReader(((new java.lang.ProcessBuilder(new java.lang.String[]{"timeout","11"})).start()).getInputStream()))).readLine()}${(new java.io.BufferedReader(new java.io.InputStreamReader(((new java.lang.ProcessBuilder(new java.lang.String[]{"sleep","11"})).start()).getInputStream()))).readLine()}
Do you have a question about Avatar: The Last Airbender?
The cast may have answers!
Submit your questions here, and come back on Thursday, February 22nd at 12pm PT / 3pm ET for Answer Time.
youtube
2K notes
·
View notes
Text
In Và Xuất Dữ Liệu Trong Java - Hướng Dẫn Chi Tiết
In và xuất dữ liệu trong Java là một trong những kỹ năng cơ bản nhưng quan trọng đối với bất kỳ lập trình viên nào khi học ngôn ngữ lập trình này. Việc xử lý xuất dữ liệu ra màn hình hoặc nhập dữ liệu từ người dùng giúp chương trình tương tác hiệu quả. Trong bài viết này, chúng ta sẽ tìm hiểu cách in và xuất dữ liệu trong Java một cách chi tiết, từ các phương thức cơ bản đến các ví dụ thực tế.
1. Tại sao In và Xuất Dữ Liệu trong Java quan trọng?
In và xuất dữ liệu là nền tảng của bất kỳ ứng dụng nào. Trong Java, việc in dữ liệu giúp hiển thị thông tin cho người dùng, trong khi xuất dữ liệu (nhập dữ liệu từ bàn phím hoặc tệp) cho phép chương trình nhận đầu vào để xử lý. Những thao tác này được sử dụng trong:
Giao diện dòng lệnh: Hiển thị kết quả hoặc yêu cầu người dùng nhập thông tin.
Ứng dụng tương tác: Tạo trải nghiệm người dùng động.
Debugging: Kiểm tra giá trị biến trong quá trình phát triển.
Hiểu rõ cách in và xuất dữ liệu trong Java giúp bạn xây dựng các chương trình linh hoạt và dễ sử dụng.
How to print in Java?
2. Các phương thức In Dữ Liệu trong Java
Java cung cấp nhiều phương thức để in dữ liệu ra màn hình console, phổ biến nhất là các phương thức trong lớp System.out. Dưới đây là các phương thức chính:
2.1. System.out.println()
Phương thức này in một chuỗi ra màn hình và tự động xuống dòng.
System.out.println("Xin chào, đây là Java!");
Kết quả:
Xin chào, đây là Java!
2.2. System.out.print()
Không giống println(), phương thức này in chuỗi mà không xuống dòng.
System.out.print("Xin chào, ");
System.out.print("Java!");
Kết quả:
Xin chào, Java!
2.3. System.out.printf()
Phương thức này cho phép định dạng chuỗi, tương tự hàm printf trong C. Bạn có thể sử dụng các ký tự định dạng như %s, %d, %f.
String name = "Nguyễn Văn A";
int age = 25; System.out.printf("Tên: %s, Tuổi: %d", name, age);
Kết quả:
Tên: Nguyễn Văn A, Tuổi: 25
3. Xuất Dữ Liệu trong Java - Nhập dữ liệu từ người dùng
Để xuất dữ liệu (nhập dữ liệu t�� người dùng), Java cung cấp các lớp như Scanner và BufferedReader. Dưới đây là cách sử dụng phổ biến:
3.1. Sử dụng lớp Scanner
Lớp Scanner trong gói java.util là cách đơn giản nhất để nhập dữ liệu từ bàn phím.
import java.util.Scanner;
public class Main { public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Nhập tên của bạn: ");
String name = scanner.nextLine();
System.out.print("Nhập tuổi của bạn: ");
int age = scanner.nextInt();
System.out.printf("Chào %s, bạn %d tuổi!", name, age);
scanner.close();
}
}
Kết quả:
Nhập tên của bạn: Nguyễn Văn A
Nhập tuổi của bạn: 25
Chào Nguyễn Văn A, bạn 25 tuổi!
3.2. Sử dụng BufferedReader
BufferedReader phù hợp khi cần xử lý dữ liệu lớn hoặc đọc từ tệp.
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Main { public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Nhập tên của bạn: ");
String name = reader.readLine();
System.out.println("Chào " + name + "!");
}
}
4. Mẹo tối ưu hóa khi In và Xuất Dữ Liệu trong Java
Đóng Scanner: Luôn gọi scanner.close() sau khi sử dụng để tr��nh rò rỉ tài nguyên.
Xử lý ngoại lệ: Khi dùng BufferedReader, hãy xử lý ngoại lệ IOException để đảm bảo chương trình ổn định.
Sử dụng printf cho định dạng: Nếu cần hiển thị dữ liệu phức tạp, printf giúp kiểm soát định dạng tốt hơn.
Kiểm tra dữ liệu đầu vào: Với Scanner, hãy kiểm tra kiểu dữ liệu (ví dụ: hasNextInt()) trước khi đọc để tránh lỗi.
5. Ứng dụng thực tế của In và Xuất Dữ Liệu trong Java
In và xuất dữ liệu được sử dụng trong nhiều tình huống thực tế, chẳng hạn:
Xây dựng ứng dụng console: Như các trò chơi đoán số hoặc chương trình quản lý danh sách.
Đọc/ghi tệp: Kết hợp BufferedReader và FileReader để xử lý tệp văn bản.
Tương tác với người dùng: Tạo form nhập liệu đơn giản trong ứng dụng Java.
6. Kết luận
In và xuất dữ liệu trong Java là kỹ năng nền tảng mà mọi lập trình viên cần nắm vững. Từ việc sử dụng System.out.println() để hiển thị thông tin đến lớp Scanner hoặc BufferedReader để nhận dữ liệu, bạn có thể dễ dàng xây dựng các chương trình tương tác. Hãy luyện tập với các ví dụ trên và áp dụng vào dự án của bạn để nâng cao kỹ năng lập trình.
Nếu bạn muốn tìm hiểu thêm về Java hoặc các chủ đề lập trình khác, hãy tiếp tục theo dõi các bài viết của chúng tôi!
Java Highlight – Hướng dẫn chi tiết cách in và xuất dữ liệu trong Java. Tìm hiểu cách sử dụng System.out.println, printf, và các phương pháp xuất dữ liệu chuẩn trong Java. 🌍 Website: Java Highlight
#java highlight#in và xuất dữ liệu trong Java#JavaOutput#JavaHighlight#Java#JavaIO#SystemOut#LapTrinhJava#JavaTips#JavaLearning#JavaChoNguoiMoi#JavaTutorial#InDuLieuJava#XuatDuLieuJava
0 notes
Text
Ver las coordenadas GPS en un dispositivo Android
Ver las coordenadas GPS en un dispositivo Android
activity_main.xml AndroidManifest.xml MainActivity.java package com.jesusninoc.gps; import android.Manifest; import android.app.Activity; import android.content.Context; import android.content.pm.PackageManager; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; import android.support.v4.app.ActivityCompat; import…
View On WordPress
#.NET#Android#apk#App#HTTP#HTTPS#Internet#Java#java.io.BufferedReader#java.io.InputStreamReader#JSON#Methods#Milliseconds#pm#Put#Register#ssl#System.out.println#Time#User#value#XML
1 note
·
View note
Text
package ti;
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLConnection; import java.nio.charset.Charset; import java.util.Collections; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; import java.util.regex.Matcher; import java.util.regex.Pattern;
import org.jsoup.Connection; import org.jsoup.Jsoup; import org.jsoup.nodes.Document;
import com.google.common.base.Joiner; import com.google.common.base.Splitter; import com.google.common.collect.Collections2; import com.google.common.collect.Lists;
public class InstagramReplicator { public static InstagramReplicator newInstance(String instagramUser, String tumblrUser, String tagName) throws IOException { return new InstagramReplicator(instagramUser, tumblrUser, tagName); } public void doUpdate() throws IOException { System.out.println("Checking for updates: instagramUser=" + instagramUser); for(String instagramUrl : loadInstagramUrls()) { if(!currentImages.contains(instagramUrl)) { submitPostToTumblr ( loadInstagramPost(instagramUrl) ); currentImages.add(instagramUrl); if(currentImages.size() > 100) { currentImages.remove(currentImages.get(0)); } } } } private List<String> loadInstagramUrls() throws IOException { List<String> instagramUrls = findMatches ( Jsoup.connect("http://instagram.com/" + instagramUser).get().outerHtml(), "\"link\":\"(http:\\\\/\\\\/instagram\\.com\\\\/p\\\\/[^\\\\]*\\\\/)\"", true ); Collections.reverse(instagramUrls); //System.out.println(instagramUser + " - " + instagramUrls); return instagramUrls; } private Post loadInstagramPost(String postUrl) throws IOException { System.out.println("Loading post: postUrl=" + postUrl); String docText = Jsoup.connect(postUrl).get().outerHtml(); //System.out.println("doctext=" + docText); String caption = "<p>" + findMatch(docText, "\"caption\":\"(.*?[^\\\\])\"", false) + "</p>"; String tagRegEx = "#([A-Za-z0-9_]+)"; String userRegEx = "@([A-Za-z0-9_]+)"; List<String> tags = Lists.newArrayList(); tags.addAll(findMatches(caption, tagRegEx, false)); tags.addAll(findMatches(caption, userRegEx, false)); //caption = caption.replaceAll(tagRegEx, "<a href=\\\\\"http://www.gramfeed.com/instagram/tags#$1\\\\\">$0</a>"); caption = caption.replaceAll(userRegEx, "<a href=\\\\\"http://instagram.com/$1\\\\\">$0</a>"); if(docText.contains("\"is_video\":true")) { caption += "<p><a href=\\\"" + postUrl + "\\\">Watch Video</a></p>"; } return new Post ( postUrl, findMatch(docText, "\"display_src\":\"([^\"]*)\"", true), //imageUrl caption, Joiner.on(",").join(tags) ); } private void submitPostToTumblr(Post post) throws IOException { System.out.println("Submitting post: post=" + post); try { HttpURLConnection connection = (HttpURLConnection) new URL("http://www.tumblr.com/svc/post/update").openConnection();
connection.setDoOutput(true); connection.setDoInput(true); connection.setInstanceFollowRedirects(false); connection.setRequestMethod("POST"); connection.setRequestProperty("Cookie", tumblrCookie); connection.setRequestProperty("X-tumblr-puppies", getSecureFormKey()); connection.setRequestProperty("X-tumblr-form-key","OdhVH6QQTBzl9IZZDViXwyj5vOU"); connection.setRequestProperty("Origin","http://www.tumblr.com"); connection.setRequestProperty("Accept-Encoding","gzip,deflate,sdch"); connection.setRequestProperty("Host","www.tumblr.com"); connection.setRequestProperty("Accept-Language","en-US,en;q=0.8"); connection.setRequestProperty("User-Agent","Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36"); connection.setRequestProperty("Content-Type","application/json"); connection.setRequestProperty("Accept","application/json, text/javascript, */*; q=0.01"); connection.setRequestProperty("Referer","http://www.tumblr.com/new/photo"); connection.setRequestProperty("X-Requested-With","XMLHttpRequest"); connection.setRequestProperty("Connection","keep-alive"); connection.setRequestProperty("DNT","1"); connection.setUseCaches(false);
OutputStream output = connection.getOutputStream(); output.write ( ("{\"form_key\":\"OdhVH6QQTBzl9IZZDViXwyj5vOU\",\"context_id\":\"\",\"context_page\":\"dashboard\"," + "\"editor_type\":\"rich\",\"is_rich_text[one]\":\"0\",\"is_rich_text[two]\":\"1\",\"is_rich_text[three]\":\"0\"," + "\"channel_id\":\"" + tumblrUser + "\",\"post[slug]\":\"\"," + "\"post[source_url]\":\"" + post.postUrl + "\",\"post[date]\":\"\",\"post[three]\":\"" + post.postUrl + "\",\"MAX_FILE_SIZE\":\"10485760\",\"post[type]\":\"photo\"," + "\"post[two]\":\"" + post.caption + "\",\"post[tags]\":\"" + Joiner.on(",").join(userTags, post.tags, instagramUser, "instagram").replace('_', ' ') + "\",\"post[publish_on]\":\"\",\"post[state]\":\"0 3\",\"post[photoset_layout]\":\"1\",\"post[photoset_order]\":\"o1\"," + "\"images[o1]\":\"" + post.imageUrl + "\",\"photo_src[]\":\"" + post.imageUrl + "\"}").getBytes(Charset.forName("UTF-8")) ); output.close();
InputStream input = connection.getInputStream(); while(input.read() != -1) {}
System.out.println("Post submission complete, httpStatusCode=" + connection.getResponseCode());
input.close(); } catch (IOException e) { if(consecutiveTumblrErrors++ > 10) { System.err.println("FATAL: Too many consecutive tumblr failures, shutting down"); System.exit(1); } throw e; } consecutiveTumblrErrors = 0; } private String getSecureFormKey() throws IOException { Connection connection = Jsoup.connect("http://www.tumblr.com/svc/secure_form_key") .header("Cookie", tumblrCookie) .header("X-tumblr-form-key","OdhVH6QQTBzl9IZZDViXwyj5vOU") .header("Origin","http://www.tumblr.com") .header("Accept-Encoding","gzip,deflate,sdch") .header("Host","www.tumblr.com") .header("Accept-Language","en-US,en;q=0.8") .header("User-Agent","Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36") .header("Content-Type","application/json") .header("Accept","application/json, text/javascript, */*; q=0.01") .header("Referer","http://www.tumblr.com/new/photo") .header("X-Requested-With","XMLHttpRequest") .header("Connection","keep-alive") .header("DNT","1") .header("Content-Length", "0"); connection.post(); String secureFormKey = connection.response().header("X-tumblr-secure-form-key"); System.out.println("secureFormKey=" + secureFormKey);
return secureFormKey; }
private String findMatch(String string, String regex, boolean isUrl) { List<String> matches = findMatches(string, regex, isUrl); if(matches.isEmpty()) { return ""; } return matches.get(0); } private List<String> findMatches(String string, String regex, boolean isUrl) { Matcher matcher = Pattern .compile(regex) .matcher(string);
List<String> matches = Lists.newArrayList();
while(matcher.find()) { matches.add ( matcher .group(1) .replace ( (isUrl ? "\\" : ""), "" ) ); }
return matches; } //nested classes private class Post { public Post(String postUrl, String imageUrl, String caption, String tags) { this.postUrl = postUrl; this.imageUrl = imageUrl; this.caption = caption; this.tags = tags; } @Override public String toString() { return "Post [postUrl=" + postUrl + ", imageUrl=" + imageUrl + ", caption=" + caption + ", tags=" + tags + "]"; }
private final String postUrl; private final String imageUrl; private final String caption; private final String tags; } //constructors
private InstagramReplicator(String instagramUser, String tumblrUser, String tagName) throws IOException { this.instagramUser = instagramUser; this.tumblrUser = tumblrUser; this.userTags = tagName; currentImages = loadInstagramUrls();
/* currentImages.removeAll ( Splitter .on(',') .trimResults() .omitEmptyStrings() .splitToList ( ) );*/
}
//attributes
private final String instagramUser; private final String tumblrUser; private final String userTags; private final List<String> currentImages;
//static
public static void main(String[] args) throws IOException { Executors.newScheduledThreadPool(0).scheduleWithFixedDelay ( new Runnable() { List<InstagramReplicator> replicators = Lists.newArrayList ( InstagramReplicator.newInstance("willaaaahh", "willaaaahhh", "willa holland"), InstagramReplicator.newInstance("emmaroberts", "emmaroberts9", "emma roberts"), InstagramReplicator.newInstance("tfarm7", "tfarm11", "taissa farmiga"), InstagramReplicator.newInstance("taylorswift", "taylorswift26", "taylor swift,taylorswift13"), InstagramReplicator.newInstance("yelyahwilliams", "yelyahwilliams-instagram", "hayley williams"),
InstagramReplicator.newInstance("MileyCyrus", "mileycyrus-instagram", "miley cyrus"), //InstagramReplicator.newInstance("badgalriri", "badgalriri-instagram", "rihanna"), InstagramReplicator.newInstance("beyonce", "beyonce-instagram", "beyonce knowles"), InstagramReplicator.newInstance("caradelevingne", "caradelevingne-instagram", "cara delevingne"), InstagramReplicator.newInstance("nickiminaj", "nickiminaj-instagram", "nicki minaj"), InstagramReplicator.newInstance("emmyrossum", "emmyrossum-instagram", "emmy rossum"), InstagramReplicator.newInstance("tigersjaw", "tigersjaw-instagram", "tigers jaw,brianna collins"), InstagramReplicator.newInstance("tayjardine", "tayjardine-instagram", "tay jardine,taylor jardine,we are the in crowd"), InstagramReplicator.newInstance("lordemusic", "lordemusic-instagram", "lorde") );
Iterator<InstagramReplicator> replicatorIterator = replicators.iterator();
@Override public void run() { if(!replicatorIterator.hasNext()) { replicatorIterator = replicators.iterator(); }
InstagramReplicator replicator = replicatorIterator.next();
try { replicator.doUpdate(); } catch (Throwable e) { e.printStackTrace(); } } }, 0, 5, TimeUnit.SECONDS ); } private static int consecutiveTumblrErrors = 0; private static final String tumblrCookie = ""; }
19 notes
·
View notes
Text
Belajar Java: Menggunakan Prosedur dan Fungsi untuk Membuat Sub-program
Pada contoh program di pembahasan sebelumnya, kita hanya menulis kode intruksi pada fungsi main() saja.
Fungsi main() adalah fungsi utama dalam program Java. Semua kode yang kita tulis di dalamnya, akan langsung dieksekusi.
Tapi masalahnya sekarang:
“Bagaimana kalau kita membuat program yang cukup besar, apakah kita masih bisa menulis semua kodenya di dalam fungsi main()?”
Bisa-bisa saja, tapi kurang efektif dan akan menghabiskan banyak tenaga untuk mengetik kodenya.
Belum lagi kalau ada error…
“Lalu solusinya bagaimana?”
Solusinya menggunakan prosedur/fungsi.
Prosedur/fungsi dapat memecah program menjadi sub-sub program, sehingga kita bisa membuat program lebih efisien.
Penggunaan prosedur/fungsi dapat mengurangi pengetikan kode yang berulang-ulang.
Pada kesempatan ini, kita akan belajar menggunakan prosedur/fungsi pada Java untuk membuat program.
Pertama, kita kenalan dulu dengan prosedur dan fungsi. Setelah itu, dilanjutkan dengan contoh program.
Pengertian Prosedur, Fungsi, dan Method
Jangan bingung…karena ketiga-tiganya sama.
Prosedur, Fungsi, dan Method itu sama.
Prosedur adalah sebutan untuk fungsi yang tidak mengembalikan nilai. Fungsi ini biasanya ditandai dengan kata kunci void.
Fungsi adalah sebutan untuk fungsi yang mengembalikan nilai.
Method adalah fungsi yang berada di dalam Class. Sebutan ini, biasanya digunakan pada OOP.
Untuk memudahkan, mari kita sebut semuanya fungsi.
Cara Membuat Fungsi di Java
Fungsi harus dibuat atau ditulis di dalam class.
Struktur dasarnya seperti ini:
static TypeDataKembalian namaFungsi(){ // statemen atau kode fungsi }
Penjelasan:
Kata kunci static, artinya kita membuat fungsi yang dapat dipanggil tanpa harus membuat instansiasi objek.
Bingung? Nanti saya jelaskan.
TypeDataKembalian adalah tipe data dari nilai yang dikembalikan setelah fungsi dieksekusi.
namaFungsi() adalah nama fungsinya. Biasanya ditulis dengan huruf kecil di awalnya. Lalu, kalau terdapat lebih dari satu suku kata, huruf awal di kata kedua ditulis kapital.
Contoh:
static void ucapSalam(){ System.out.println("Selamat Pagi"); }
Tipe data void artinya kosong, fungsi tersebut tidak mengebalikan nilai apa-apa.
Cara Memanggil/Eksekusi Fungsi
Setelah kita membuat fungsi, selanjutnya kita akan mengeksekusi fungsinya.
Fungsi dapat dipanggil dari fungsi main atau dari fungsi yang lainnya.
Contoh pemanggilan fungsi dalam dalam funsgi main:
public static void main(String[] args){ ucapSalam(); }
Maka akan menghasilkan output:
Selamat Pagi
Kode lengkapnya, silahkan dicoba sendiri:
class BelajarFungsi { // membuat fungsi ucapSalam() static void ucapSalam(){ System.out.println("Selamat Pagi"); } // membuat fungsi main() public static void main(String[] args){ // memanggil/eksekusi fungsi ucapSalam() ucapSalam(); } }
Fungsi dengan Parameter
Parameter adalah variabel yang menampung nilai untuk diproses di dalam fungsi. Parameter berperan sebagai input untuk fungsi.
Struktur dasarnya seperti ini:
static TipeData namaFungsi(TipeData namaParameter, TipeData namaParameterLain){ // kode fungsi }
Penjelasan:
Parameter ditulis di antara tanda kurung (...);
Parameter harus diberikan tipe data;
Bila terdapat lebih dari satu parameter, maka dipisah dengan tanda koma.
Contoh fungsi yang memiliki parameter:
static void ucapin(String ucapan){ System.out.println(ucapan); }
Pada contoh tersebut, kita membuat parameter bernama ucapan dengan tipe String. Sehingga kita bisa menggunakan variabel ucapan di dalam fungsi.
Cara pemanggilan fungsi yang memiliki parameter:
ucapin("Hallo!"); ucapin("Selamat datang di pemrograman Java"); ucapin("Saya kira ini bagian terakhir"); ucapin("Sampai jumpa lagi, ya!");
Hasil outputnya:
Hallo! Selamat datang di pemrograman Java Saya kira ini bagian terakhir Sampai jumpa lagi, ya!
Fungsi yang Mengembalikan Nilai
Setelah fungsi memproses data yang diinputkan melalui parameter, selanjutnya fungsi harus mengembalikan nilai agar dapat diolah pada proses berikutnya.
Pengembalian nilai pada fungsi menggunakan kata kunci return.
Contoh:
static int luasPersegi(int sisi){ int luas = sisi * sisi; return luas; }
Pada contoh tersebut, kita membuat sebuah parameter bernama sisi. Kemudian fungsi akan mengembalikan nilai dengan tipe int (integer) dari variabel luas.
Contoh pemanggilanya:
System.out.println("Luas Persegi dengan panjang sisi 5 adalah " + luasPersegi(5));
Hasil Output:
Luas Persegi dengan panjang sisi 5 adalah 25
Pemanggilan Fungsi di Fungsi Lain
Fungsi-fungsi dapat saling memanggil untuk memproses data.
Contoh, sebuah program Kalkulator Bangun Ruang memiliki fungsi-fungsi: luasPersegi(), luasPersegiPanjang(), luasSegitiga(), luasBalok(), luasKubus() dsb.
Fungsi-fungsi tersebut dapat saling membantu, contoh fungsi luasKubus() membutuhkan fungsi luasPersegi().
Rumus:
Luas Kubus = 6 * luasPersegi; Luas Persegi = sisi * sisi;
Maka programnya bisa dibuat seperti ini:
public class BangunRuang { public static void main(String[] args) { int s = 12; int luas = luasKubus(s); System.out.println(luas); } // membuat fungsi luasPersegi() static int luasPersegi(int sisi){ return sisi * sisi; } // membuat fungsi luasKubus() static int luasKubus(int sisi){ // memanggil fungsi luasPersegi return 6 * luasPersegi(sisi); } }
Hasil output
864
Fungsi Static dan Non-Static
Pada contoh-contoh diatas, kita menggunakan kata kunci static sebelum membuat fungsi.
Kata kunci static akan membuat fungsi dapat dieksekusi langsung, tanpa harus membuat instansiasi objek dari class.
Contoh:
public class FungsiStatic { // Fungsi non-static void makan(String makanan){ System.out.println("Hi!"); System.out.println("Saya sedang makan " + makanan); } // fungsi static static void minum(String minuman){ System.out.println("Saya sedang minum " + minuman); } // fungsi main public static void main(String[] args) { // pemanggilan fungsi static minum("Kopi"); // mambuat instansiasi objek saya dari class FungsiStatic FungsiStatic saya = new FungsiStatic(); // pemanggilan fungsi non-static saya.makan("Nasi Goreng"); } }
Pada contoh tersebut, fungsi makan() adalah fungsi non-static. Sedangkan fungsi minum() adalah fungsi static.
Hasil output dari program di atas:
Saya sedang minum Kopi Hi! Saya sedang makan Nasi Goreng
Apabila kita tidak membuat objek untuk memanggil fungsi non-static, maka akan terjadi error.
Variabel Global dan Variabel Lokal pada Java
Variabel global adalah variabel yang bisa diakses dari semua fungsi. Sedangkan variabel lokal adalah variabel yang hanya bisa diakses dari dalam fungsi tempat variabel itu berada.
Bingung?
Mari kita lihat contohnya:
class ProgramKu{ // ini variabel global static String nama = "Programku"; static String version = "1.0.0"; static void help(){ // ini variabel lokal String nama = "Petani Kode"; // mengakses variabel global di dalam fungso help() System.out.println("Nama: " + nama); System.out.println("Versi: " + version); } public static void main(String args[]){ // panggil fungsi help() help(); System.out.println("Nama: " + nama); System.out.println("Versi: " + version); } }
Hasil outputnya:
Nama: Petani Kode Versi: 1.0.0 Nama: Programku Versi: 1.0.0
Saat pemanggilan fungsi help() kita membuat ulang variabel nama. Sehingga variabel nama menjadi variabel lokal pada fungsi help() dan nilainya berubah menjadi "Petani Kode".
Sedangkan, saat kita akases lagi variabel nama melalui fungsi main() nilainya tetap sama seperti yang didefinisikan.
Contoh Program dengan Fungsi dan Prosedur
Program ini adalah program sederhana dengan fitur sebagai berikut:
Baca data dari ArrayList
Simpan data ke ArrayList
Ubah data
Hapus Data
Keluar
Belum tahu tentang ArrayList?
Silahkan baca meteri: Mengenal Array di Java
Baiklah, silahkan buat class baru bernama FungsiProsedur. Lalu impor class-class yang dibutuhkan.
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList;
Setelah itu buat variabel global di dalam class FungsiProsedur:
static ArrayList listBuah = new ArrayList(); static boolean isRunning = true; static InputStreamReader inputStreamReader = new InputStreamReader(System.in); static BufferedReader input = new BufferedReader(inputStreamReader);
Penjelasan:
Variabel listBuah adalah variabel global untuk menyimpan nama-nama buah.
Variabel isRunning adalah variabel global untuk membuat loop.
Kemudian inputStreamReader dan input adalah objek yang kita butuhkan untuk mengambil input dari keyboard.
Setelah itu, buat masing-masing fungsi.
Fungsi untuk menampilkan menu:
static void showMenu() throws IOException { System.out.println("========= MENU ========"); System.out.println("[1] Show All Buah"); System.out.println("[2] Insert Buah"); System.out.println("[3] Edit Buah"); System.out.println("[4] Delete Buah"); System.out.println("[5] Exit"); System.out.print("PILIH MENU> "); int selectedMenu = Integer.valueOf(input.readLine()); switch(selectedMenu){ case 1: showAllBuah(); break; case 2: insertBuah(); break; case 3: editBuah(); break; case 4: deleteBuah(); break; case 5: System.exit(0); break; default: System.out.println("Pilihan salah!"); } }
Fungsi tersebut bertugas untuk menampilkan menu dan menentukan fungsi mana yang akan dipanggil berdasarkan nomer menu yang diinputkan.
Apa itu throws IOException?
Nanti saya akan bahas di kesempatan berikutnya. Untuk saat ini diabaikan saja dulu. Ini karena kita menggunakan Buffereader, jadi throws IOException wajib ditulis.
Fungsi untuk menampilkan data:
static void showAllBuah(){ if(listBuah.isEmpty()){ System.out.println("Belum ada data"); } else { // tampilkan semua buah for(int i = 0; i < listBuah.size(); i++){ System.out.println(String.format("[%d] %s",i, listBuah.get(i))); } } }
Fungsi tersebut bertugas menampilkan isi dari listBuah. Kalau listBuah kosong, maka akan ditampilkan pesan "Belum ada data".
Fungsi untuk menambah data buah:
static void insertBuah() throws IOException{ System.out.print("Nama buah: "); String namaBuah = input.readLine(); listBuah.add(namaBuah); }
Pada fungsi tersebut, kita menggunakan method listBuah.add(namaBuah); untuk menambah data ke dalam listBuah berdasarkan namaBuah yang diberikan.
Fungsi untuk mengubah data buah:
static void editBuah() throws IOException{ showAllBuah(); System.out.print("Pilih nomer buah: "); int indexBuah = Integer.valueOf(input.readLine()); System.out.print("Nama Baru: "); String namaBaru = input.readLine(); // ubah nama buah listBuah.set(indexBuah, namaBaru); }
Pertama kita perlu tampilkan dulu daftar buahnya, lalu kita minta user untuk memilih buah mana yang akan diedit.
Setelah itu, kita update buahnya dengan method listBuah.set(indexBuah, namaBaru);.
Fungsi untuk menghapus buah:
static void deleteBuah() throws IOException{ showAllBuah(); System.out.print("Pilih nomer buah: "); int indexBuah = Integer.valueOf(input.readLine()); // hapus buah listBuah.remove(indexBuah); }
Hampir sama seperti edit buah, untuk menghapus buah kita juga butuh nomer indeks buah yang akan dihapus.
Lalu mengapusnya dengan method listBuah.remove(indexBuah);.
Fungsi main:
public static void main(String[] args) throws IOException { do { showMenu(); } while (isRunning); }
Lengkap sudah, berikut ini bentuk kode lengkapnya.
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; public class FungsiProsedur { static ArrayList listBuah = new ArrayList(); static boolean isRunning = true; static InputStreamReader inputStreamReader = new InputStreamReader(System.in); static BufferedReader input = new BufferedReader(inputStreamReader); static void showMenu() throws IOException{ System.out.println("========= MENU ========"); System.out.println("[1] Show All Buah"); System.out.println("[2] Insert Buah"); System.out.println("[3] Edit Buah"); System.out.println("[4] Delete Buah"); System.out.println("[5] Exit"); System.out.print("PILIH MENU> "); int selectedMenu = Integer.valueOf(input.readLine()); switch(selectedMenu){ case 1: showAllBuah(); break; case 2: insertBuah(); break; case 3: editBuah(); break; case 4: deleteBuah(); break; case 5: System.exit(0); break; default: System.out.println("Pilihan salah!"); } } static void showAllBuah(){ if(listBuah.isEmpty()){ System.out.println("Belum ada data"); } else { // tampilkan semua buah for(int i = 0; i < listBuah.size(); i++){ System.out.println(String.format("[%d] %s",i, listBuah.get(i))); } } } static void insertBuah() throws IOException{ System.out.print("Nama buah: "); String namaBuah = input.readLine(); listBuah.add(namaBuah); } static void editBuah() throws IOException{ showAllBuah(); System.out.print("Pilih nomer buah: "); int indexBuah = Integer.valueOf(input.readLine()); System.out.print("Nama Baru: "); String namaBaru = input.readLine(); // ubah nama buah listBuah.set(indexBuah, namaBaru); } static void deleteBuah() throws IOException{ showAllBuah(); System.out.print("Pilih nomer buah: "); int indexBuah = Integer.valueOf(input.readLine()); // hapus buah listBuah.remove(indexBuah); } public static void main(String[] args) throws IOException { do { showMenu(); } while (isRunning); } }
Setelah itu, silahkan dijalankan dan perhatikanlah hasilnya.
========= MENU ======== [1] Show All Buah [2] Insert Buah [3] Edit Buah [4] Delete Buah [5] Exit PILIH MENU> 1 Belum ada data ========= MENU ======== [1] Show All Buah [2] Insert Buah [3] Edit Buah [4] Delete Buah [5] Exit PILIH MENU> 2 Nama buah: Apel ========= MENU ======== [1] Show All Buah [2] Insert Buah [3] Edit Buah [4] Delete Buah [5] Exit PILIH MENU> 1 [0] Apel ========= MENU ======== [1] Show All Buah [2] Insert Buah [3] Edit Buah [4] Delete Buah [5] Exit PILIH MENU>
Silahkan coba untuk melakukan insert, edit, dan delete.
1 note
·
View note
Text
Download editra
DOWNLOAD NOW Download editra
#Download editra install
#Download editra manual
#Download editra download
The linux versions requires that you have wxpython 2.8 or later and setuptools installed, the Windows and Mac versions are standalone. Launcher integration is coming soon, but isn't quite ready yet. There isn't any launcher integration, yet - you'll have to take care of opening files by hand.
#Download editra download
So you can download the first release of Editra with Ren'Py from: I'm leaving on a trip for a couple of days, but I decided to post what I have before I go. (You'll need to enable this, and pick your language, in the Preferences.) Editra with Ren'Py will flag indentation errors, and can optionally flag spelling errors. I've managed to add support for Ren'Py specific syntax highlighting and indenting.
#Download editra install
You have to install the public key with which the repository is signed.Īpt-key adv -keyserver -recv-keys E6A233DBE3AFBEFC The repository is now also secured and signed. Then, just run apt-get update, followed by
To install jEdit via Debian Linux apt-get (this is also for any Debian based Distros like Ubuntu),Īdd the following line to your /etc/apt/sources.list: deb /.
Users can install jEdit from the portage tree by running
FreeBSD users can find install jEdit from the ports collection by running:.
Not contain the bang: Exception in thread "main" Īt java.io.InputStreamReader.(Unknown Source)Īt (Unknown Source)Īt installer.SwingInstall.(Unknown Source)Īt (Unknown Source) Option 2 - easy install on some flavors of *nix The following, try moving the installer JAR to a directory whose name does Note that some Java versions for Windows have a bug where a JAR file whoseįull path names contains a bang (!) will not run. The installer will not display it's GUI, and instead it will ask Text as the last parameter on the command line. You want to start the installer in text-only mode, specify If it doesn't start, then you will need to open an MS-DOS promptĮnter the following commands: cd directory where you downloaded the JAR fileįor example, if you downloaded jedit40install.jar The installer should start automatically. To install jEdit, simply double-click on the JAR file you downloaded To find out which Java virtual machine is best for running jEdit on Then just follow the onscreen instructions. Installation instructions are available for the following operating systems:Īfter downloading the EXE file, just double click it or run the executableįrom the commandline. Do not use yourīrowser's "Download Link" command on the above links. To pages where you can select a download mirror. Note: the above links are not to the files themselves, but rather
#Download editra manual
Option 1 - manual download and install on any OS Java Runtime version 11 (aka Java 11) or later is required for jEdit 5.6 and later.īefore installing jEdit, make sure you have a compatible Java virtual machine see the compatibility page for details. Java Runtime version 1.8 (aka Java 8) or later is required for jEdit 5.4 and later. Java Runtime version 1.7 (aka Java 7) or later is required for jEdit 5.2 and later. Java Runtime version 1.6 (aka Java 6) or later is required for jEdit 4.4 and later. Last Site Update: 03 September 2020 | Stable Version: 5.6.0
DOWNLOAD NOW Download editra
0 notes
Text
In Và Xuất Dữ Liệu Trong Java - Hướng Dẫn Chi Tiết
In và xuất dữ liệu trong Java là một trong những kỹ năng cơ bản nhưng quan trọng đối với bất kỳ lập trình viên nào khi học ngôn ngữ lập trình này. Việc xử lý xuất dữ liệu ra màn hình hoặc nhập dữ liệu từ người dùng giúp chương trình tương tác hiệu quả. Trong bài viết này, chúng ta sẽ tìm hiểu cách in và xuất dữ liệu trong Java một cách chi tiết, từ các phương thức cơ bản đến các ví dụ thực tế.
1. Tại sao In và Xuất Dữ Liệu trong Java quan trọng?
In và xuất dữ liệu là nền tảng của bất kỳ ứng dụng nào. Trong Java, việc in dữ liệu giúp hiển thị thông tin cho người dùng, trong khi xuất dữ liệu (nhập dữ liệu từ bàn phím hoặc tệp) cho phép chương trình nhận đầu vào để xử lý. Những thao tác này được sử dụng trong:
Giao diện dòng lệnh: Hiển thị kết quả hoặc yêu cầu người dùng nhập thông tin.
Ứng dụng tương tác: Tạo trải nghiệm người dùng động.
Debugging: Kiểm tra giá trị biến trong quá trình phát triển.
Hiểu rõ cách in và xuất dữ liệu trong Java giúp bạn xây dựng các chương trình linh hoạt và dễ sử dụng.
How to print in Java?
2. Các phương thức In Dữ Liệu trong Java
Java cung cấp nhiều phương thức để in dữ liệu ra màn hình console, phổ biến nhất là các phương thức trong lớp System.out. Dưới đây là các phương thức chính:
2.1. System.out.println()
Phương thức này in một chuỗi ra màn hình và tự động xuống dòng.
System.out.println("Xin chào, đây là Java!");
Kết quả:
Xin chào, đây là Java!
2.2. System.out.print()
Không giống println(), phương thức này in chuỗi mà không xuống dòng.
System.out.print("Xin chào, ");
System.out.print("Java!");
Kết quả:
Xin chào, Java!
2.3. System.out.printf()
Phương thức này cho phép định dạng chuỗi, tương tự hàm printf trong C. Bạn có thể sử dụng các ký tự định dạng như %s, %d, %f.
String name = "Nguyễn Văn A";
int age = 25;
System.out.printf("Tên: %s, Tuổi: %d", name, age);
Kết quả:
Tên: Nguyễn Văn A, Tuổi: 25
3. Xuất Dữ Liệu trong Java - Nhập dữ liệu từ người dùng
Để xuất dữ liệu (nhập dữ liệu từ người dùng), Java cung cấp các lớp như Scanner và BufferedReader. Dưới đây là cách sử dụng phổ biến:
3.1. Sử dụng lớp Scanner
Lớp Scanner trong gói java.util là cách đơn giản nhất để nhập dữ liệu từ bàn phím.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Nhập tên của bạn: ");
String name = scanner.nextLine();
System.out.print("Nhập tuổi của bạn: ");
int age = scanner.nextInt();
System.out.printf("Chào %s, bạn %d tuổi!", name, age);
scanner.close();
}
}
Kết quả:
Nhập tên của bạn: Nguyễn Văn A
Nhập tuổi của bạn: 25
Chào Nguyễn Văn A, bạn 25 tuổi!
3.2. Sử dụng BufferedReader
BufferedReader phù hợp khi cần xử lý dữ liệu lớn hoặc đọc từ tệp.
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Nhập tên của bạn: ");
String name = reader.readLine();
System.out.println("Chào " + name + "!");
}
}
4. Mẹo tối ưu hóa khi In và Xuất Dữ Liệu trong Java
Đóng Scanner: Luôn gọi scanner.close() sau khi sử dụng để tránh rò rỉ tài nguyên.
Xử lý ngoại lệ: Khi dùng BufferedReader, hãy xử lý ngoại lệ IOException để đảm bảo chương trình ổn định.
Sử dụng printf cho định dạng: Nếu cần hiển thị dữ liệu phức tạp, printf giúp kiểm soát định dạng tốt hơn.
Kiểm tra dữ liệu đầu vào: Với Scanner, hãy kiểm tra kiểu dữ liệu (ví dụ: hasNextInt()) trước khi đọc để tránh lỗi.
5. Ứng dụng thực tế của In và Xuất Dữ Liệu trong Java
In và xuất dữ liệu được sử dụng trong nhiều tình huống thực tế, chẳng hạn:
Xây dựng ứng dụng console: Như các trò chơi đoán số hoặc chương trình quản lý danh sách.
Đọc/ghi tệp: Kết hợp BufferedReader và FileReader để xử lý tệp văn bản.
Tương tác với người dùng: Tạo form nhập liệu đơn giản trong ứng dụng Java.
6. Kết luận
In và xuất dữ liệu trong Java là kỹ năng nền tảng mà mọi lập trình viên cần nắm vững. Từ việc sử dụng System.out.println() để hiển thị thông tin đến lớp Scanner hoặc BufferedReader để nhận dữ liệu, bạn có thể dễ dàng xây dựng các chương trình tương tác. Hãy luyện tập với các ví dụ trên và áp dụng vào dự án của bạn để nâng cao kỹ năng lập trình.
Nếu bạn muốn tìm hiểu thêm về Java hoặc các chủ đề lập trình khác, hãy tiếp tục theo dõi các bài viết của chúng tôi!
Java Highlight – Hướng dẫn chi tiết cách in và xuất dữ liệu trong Java. Tìm hiểu cách sử dụng System.out.println, printf, và các phương pháp xuất dữ liệu chuẩn trong Java. 🌍 Website: Java Highlight #JavaHighlight #Java #JavaIO #JavaOutput #SystemOut #LapTrinhJava #JavaTips #JavaLearning #JavaChoNguoiMoi #JavaTutorial #InDuLieuJava #XuatDuLieuJava
0 notes
Text
Realizar petición HTTP utilizando el método POST en Android con Volley
Realizar petición HTTP utilizando el método POST en Android con Volley
activity_main.xml AndroidManifest.xml MainActivity.java package com.jesusninoc.post; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.TextView; import com.android.volley.Request; import com.android.volley.Response; import com.android.volley.VolleyError; import com.android.volley.toolbox.StringRequest; import com.android.volley.toolbox.Volley; import…
View On WordPress
#.NET#Android#apk#App#HTTP#HTTPS#Internet#Java#java.io.BufferedReader#java.io.InputStreamReader#JSON#Milliseconds#Module#pm#Pro#Put#Register#ssl#System.out.println#Time#User#value#XML
0 notes
Text
Crear, compilar, generar y ejecutar un JAR de Java que ejecuta un cmdlet de PowerShell utilizando Runtime
Crear, compilar, generar y ejecutar un JAR de Java que ejecuta un cmdlet de PowerShell utilizando Runtime
import java.io.*; public class CrearJava { public static void main(String[] args) { FileWriter fichero = null; PrintWriter pw = null; try { fichero = new FileWriter("EjecutarPowerShell.java"); pw = new PrintWriter(fichero); pw.println("import java.io.IOException;"); pw.println("import java.io.BufferedReader;"); pw.println("import java.io.IOException;"); pw.println("import…
View On WordPress
#IOException#Java#java.io.BufferedReader#java.io.InputStreamReader#java.io.IOException#PSVersion#PSVersionTable#stdout#System.out.println
0 notes
Text
Belajar Java: Cara Mengambil Input dan Menampilkan Output
Seperti yang kita ketahui, program komputer terdiri dari tiga komponen utama, yaitu: input, proses, dan output.
Input: nilai yang kita masukan ke program
Proses: langkah demi langkah yang dilakukan untuk mengelola input menjadi sesuatu yang berguna
Output: hasil pengolahan
Semua bahasa pemrograman telah menyediakan fungs-fungsi untuk melakukan input dan output.
Java sendiri sudah menyediakan tiga class untuk mengambil input:
Class Scanner;
Class BufferReader;
dan Class Console.
Tiga class tersebut untuk mengambil input pada program berbasis teks (console). Sedangkan untuk GUI menggunakan class yang lain seperti JOptionPane dan inputbox pada form.
Sementara untuk outputnya, Java menyediakan fungsi print(), println(), dan format().
Mengambil Input dengan Class Scanner
Scanner merupakan class yang menyediakan fungsi-fungsi untuk mengambil input dari keyboard.
Agar kita bisa menggunakan Scanner, kita perlu mengimpornya ke dalam kode:
import java.util.Scanner;
Lebih jelasnya…
Mari Kita Praktik
Sekarang adalah pertemuan ke-2, jadi buatlah paket baru bernama pertemuan2 pada source packages.
Klik kanan pada souce packages, kemudian pilih new package:
Kemudian isi nama paket dengan pertemuan2, lalu klik Finish:
Setelah itu, lanjutkan dengan membuat kelas (java class) baru di paket pertemuan2:
Berikan nama: DataKaryawan. Kemudian klik Finish:
Setelah itu, silahkan ikuti kode berikut ini:
package pertemuan2; // mengimpor Scanner ke program import java.util.Scanner; public class DataKaryawan { public static void main(String[] args) { // deklarasi variabel String nama, alamat; int usia, gaji; // membuat scanner baru Scanner keyboard = new Scanner(System.in); // Tampilkan output ke user System.out.println("### Pendataan Karyawan PT. Petani Kode ###"); System.out.print("Nama karyawan: "); // menggunakan scanner dan menyimpan apa yang diketik di variabel nama nama = keyboard.nextLine(); // Tampilkan outpu lagi System.out.print("Alamat: "); // menggunakan scanner lagi alamat = keyboard.nextLine(); System.out.print("Usia: "); usia = keyboard.nextInt(); System.out.print("Gaji: "); gaji = keyboard.nextInt(); // Menampilkan apa yang sudah simpan di variabel System.out.println("--------------------"); System.out.println("Nama Karyawan: " + nama); System.out.println("Alamat: " + alamat); System.out.println("Usia: " + usia + " tahun"); System.out.println("Gaji: Rp " + gaji); } }
Perlu diperhatikan, penggunakan fungsi untuk mengambil data bergantung dari tipe data yang digunakan.
Misal, tipe datanya adalah String, maka fungsi atau method yang dipakai adalah nextLine().
Begitu juga dengan tipe data lain, Integer menggunakan nextInt(), Double menggunakan nextDouble(), dsb.
Setelah selesai membuat program, silahkan dijalankan. Klik kanan kemudian pilih Run File atau tekan tombol [Shift]+[F6].
Mengambil Input dengan Class BufferReader
Class BufferReader sebenarnya tidak hanya untuk mengambil input dari keyboard saja.
Class ini juga dapat digunakan untuk membaca input dari file dan jaringan.
Class ini terletak di dalam paket java.io.
Silahkan diimpor untuk dapat menggunakan class BufferReader.
import java.io.BufferedReader;
Mari kita coba…
Silahkan buat class baru bernama ContohBufferReader, kemudian isi dengan kode berikut ini.
package pertemuan2; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class ContohBufferReader { public static void main(String[] args) throws IOException { String nama; // Membuat objek inputstream InputStreamReader isr = new InputStreamReader(System.in); // membuat objek bufferreader BufferedReader br = new BufferedReader(isr); // Mengisi varibel nama dengan Bufferreader System.out.print("Inputkan nama: "); nama = br.readLine(); // tampilkan output isi variabel nama System.out.println("Nama kamu adalah " + nama); } }
Ternyata class BufferReader tidak bisa bekerja sendirian. Dia juga butuh teman yaitu: class InputStreamReader dan class IOException.
Sekarang mari kita coba jalankan programnya:
Perbedaan BufferReader dengan Scanner terlihat dari fungsi atau method yang dipakai.
Scanner menggunakan next(), sedangkan BufferReader menggunakan readLine().
Lalu untuk tipe data integer, BufferReader menggunakan fungsi read() saja. Hal ini dapat kita lihat dalam hint autocomplete .
Tips: Tekan Ctrl+Spasi saat menulis kode untuk menampilkan hint autocomplete .
Mengambil Input dengan Class Console
Class Console hampir sama dengan BufferReader. Dia juga menggunakan fungsi readLine() untuk mengambil input.
Akan tetapi…
Class ini hanya bisa digunakan di lingkungan console saja, seperti Terminal dan CMD.
Class Console tidak bisa digunakan langsung di Netbeans.
Maka dari itu, kita harus kompilasi secara manual.
Untuk menggunakan class ini, kita perlu mengimpornya terlebih dahulu.
import java.io.Console;
Mari kita coba…
Buatlah file baru bernama InputConsole.java dengan isi sebagai berikut:
import java.io.Console; public class InputConsole { public static void main(String[] args) { String nama; int usia; // membuat objek console Console con = System.console(); // mengisi variabel nama dan usia dengan console System.out.print("Inputkan nama: "); nama = con.readLine(); System.out.print("Inputkan usia: "); usia = Integer.parseInt(con.readLine()); // mengampilkan isi variabel nama dan usia System.out.println("Nama kamu adalah: " + nama); System.out.println("Saat ini berusia " + usia + " tahun"); } }
Perhatikan: dalam kode di atas, kita menggunakan fungsi Integer.parseInt(con.readLine()) untuk tipe data integer. Artinya, kita merubah tipe data String ke Integer.
Karena Console tidak memiliki nilai kembalian berupa integer untuk fungsi read().
Lanjut…
Setelah itu, lakukan kompilasi melalui Terminal atau CMD. Buka terminal, kemudian masuk ke direktori tempat menyimpan kodenya.
Ketik perintah: javac InputConsole.java untuk melakukan kompilasi.
Setelah itu, ketik perintah java InputConsole untuk menjalankannya:
Menampilkan Output
Kita sudah mengenal beberapa cara mengambil input dari keyboard untuk program berbasis teks.
Sekarang bagaimana dengan outputnya?
Ada beberapa fungsi yang sudah disediakan oleh Java:
Fungsi System.out.print()
Fungsi System.out.println()
Fungsi System.out.format()
Apa saja perbedaan dari fungsi-fungsi tersebut?
Mari kita bahas…
Fungsi
print()
vs
println()
Fungsi print() dan println() sama-sama digunakan untuk menampilkan teks.
Lalu apa bedanya?
Fungsi print() akan menampilkan teks apa adanya. Sedangkan println() akan menampilkan teks dengan ditambah baris baru.
Mari kita coba dalam kode:
package eksperimen; public class PrintVsPrinln { public static void main(String[] args) { System.out.print("ini teks yang dicetak dengan print()"); System.out.println("sedangkan ini teks yang dicetak dengan println()"); System.out.print("pake print() lagi"); } }
Sekarang lihat hasil outputnya:
Menggabungkan String
Ketika menggunakan fungsi print() maupun println(), kadang kita perlu mengambil teks dari variabel dan menggabungkannya dengan teks yang lain.
Misalnya seperti ini:
Kita punya variabel namaDepan dan namaBelakang:
String namaDepan = "Petani"; String namaBelakang = "Kode";
Kemudian kita ingin menampilkannya dengan fungsi print(), maka kita hanya perlu memasukkannya ke sana.
System.out.print(namaDepan); System.out.print(namaBelakang);
Kode tersebut akan menghasilkan: PetaniKode
Sebenarnya kita tidak perlu menggunakan dua fungsi print(), karena kita bisa menggabungkannya dengan operator +.
Contoh:
System.out.print(namaDepan + namaBelakang);
Agar ada spasi, tinggal ditambahkan saja spasi:
System.out.print(namaDepan + " " + namaBelakang);
Format String
Sedangkan untuk menggabungkan String yang lebih kompleks, kita bisa menggunakan fungsi format().
Contoh:
package eksperimen; public class FormatString { public static void main(String[] args) { String namaDepan = "Petani"; String namaBelakang = "Kode"; System.out.format("Nama saya %s %s %n", namaDepan, namaBelakang); } }
Perhatikan: di sana kita menggunakan simbol %s untuk mengambil nilai dari variabel di sampingnya. %s artinya string.
Selain %s, ada juga simbol lain:
%d untuk desimal atau angka;
%f untuk bilangan pecahan;
%n untuk baris baru, bisa juga pakai \n;
dan masih banyak lagi, cek di dokumentasi java.
Kode di atas akan menghasilkan: Nama saya Petani Kode
0 notes
Text
Twitter Live Streaming - Sample Code
Social media is the key ingredient of applications and integrating the social media platform with mobile applications the key of success for your mobile applications. The large social networks could not fit to one single mobile application increasing the opportunity for all mobile developers to create more interesting and creative small apps for mobile devices with this social platforms. Twitter is one of the popular social networking platform. The update on twitter is very fast as tweets are small in size. Twitter introduced the live streaming APIs to get the updates in real time from twitter live streaming service. You can integrate the twitter live streaming in your android application as described in this post. Create a default activity project in eclipse for android and create the following layout for your application in activity_main.xml. Now replace the default activity class code by the following code import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.URI; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import org.apache.http.HttpResponse; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; import org.json.JSONObject; import android.os.AsyncTask; import android.os.Bundle; import android.app.Activity; import android.content.Context; import android.util.Log; import android.view.Menu; import android.view.View; import android.widget.EditText; import android.widget.ListView; import android.widget.SimpleAdapter; import android.widget.Toast; public class MainActivity extends Activity implements View.OnClickListener { private List mTweets = new ArrayList(); private SimpleAdapter mAdapter; private boolean m_Running = false; private String m_SearchKeyWord = ""; final int MAXLIST = 10; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //create a list view and bind with simple adapter mAdapter = new SimpleAdapter(this, mTweets, android.R.layout.simple_list_item_2, new String {"Tweet", "From"}, new int {android.R.id.text1, android.R.id.text2}); ListView lv = (ListView)findViewById(R.id.TweetsList); lv.setAdapter(mAdapter); //create a list view and bind with simple adapter } public class StreamTask extends AsyncTask { protected Boolean doInBackground(Context... arg0) { try { DefaultHttpClient client = new DefaultHttpClient(); String userName = "XXXXXXX"; String password = "XXXXXXX"; UsernamePasswordCredentials creds = new UsernamePasswordCredentials(userName, password); client.getCredentialsProvider().setCredentials( new AuthScope(AuthScope.ANY_HOST, AuthScope.ANY_PORT), creds); HttpGet request = new HttpGet(); String m_SearchKeyWord = null; request.setURI(new URI("https://stream.twitter.com/1/statuses/filter.json?track=" + m_SearchKeyWord)); HttpResponse response = client.execute(request); InputStream in = response.getEntity().getContent(); BufferedReader reader = new BufferedReader( new InputStreamReader(in) ); handleTweets(reader); in.close(); } catch (Exception e) { Log.e("SampleTwitter", "doInBackground_" + e.toString()); } return true; } private void handleTweets( BufferedReader reader ) { try { String line = ""; do { line = reader.readLine(); JSONObject tweet = new JSONObject(line); HashMap tweetMap = new HashMap(); if (tweet.has("text")) { Log.i("SampleTwitter","Tweet : " + tweet.getString("text")); tweetMap.put("Tweet", tweet.getString("text")); tweetMap.put("From", tweet.getJSONObject("user") .getString("screen_name")); Log.i("SampleTwitter","From : " + tweet.getJSONObject("user") .getString("screen_name")); mTweets.add(0, tweetMap); if (mTweets.size() > MAXLIST) { mTweets.remove(mTweets.size() - 1); } publishProgress(true); } } while (m_Running && line.length() > 0); } catch (Exception e) { Log.e("SampleTwitter", "handleTweets_" + e.toString()); } } protected void onProgressUpdate(Boolean... values) { super.onProgressUpdate(values); mAdapter.notifyDataSetChanged(); Log.d("SampleTwitter", "Im in onProgressUpdate()"); } } public void stopTweets(View view ) { m_Running = false; for(int idx=mTweets.size()-1;idx>=0;idx--) mTweets.remove(idx); if(mTweets.size() ==1) mTweets.remove(0); mAdapter.notifyDataSetChanged(); } public void startTweets(View view) { if( m_Running == false ) { EditText edt = (EditText)findViewById(R.id.SearchText); m_SearchKeyWord = edt.getText().toString(); if( m_SearchKeyWord.length() > 0 ) { StreamTask st = new StreamTask(); st.execute(); m_Running = true; } else { Toast.makeText(this, "Please enter the search keyword", Toast.LENGTH_SHORT).show(); } } else { Toast.makeText(this, "Already Running", Toast.LENGTH_SHORT).show(); } } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main, menu); return true; } @Override public void onClick(View arg0) { // TODO Auto-generated method stub } } This sample is getting the twitter updates from real time stream API and showing that in a list view. you need to change the username and password values in doInBackGround() method to connect to the twitter. The following is URL on which we can send a https request to get the tweets update in real time based on the tag value or search keyword.
0 notes
Text
Programa Cálculo de Notas
Función: El programa lee unos datos que digita el usuario (nombre, notas) y los guarda en un fichero para luego ser llamados en los métodos planteados, como calcular promedio de corte, mostrar mayor nota y consultar registro.
Es un Programa para estudiar el uso de ficheros en Java.
Clase Notas
package notas;
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.DataInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.util.Scanner;
/** * * @author Sergio Pérez */ public class Notas { public static int menu(){ Scanner sc = new Scanner(System.in); int dec; do { System.out.println(“MENU DE OPCIONES\n\n”); System.out.println(“[1]. Registrar datos”); System.out.println(“[2]. Mostrar datos”); System.out.println(“[3]. Nota mayor”); System.out.println(“[4]. Promedio del corte”); System.out.println(“[5]. Salir”); dec = sc.nextInt(); }while(dec<1 || dec>5);
return(dec); }
static void agregar(){ Scanner sc = new Scanner(System.in); File f; f = new File(“Notas.txt”); try { FileWriter w = new FileWriter(f, true); BufferedWriter bw = new BufferedWriter(w); PrintWriter wr = new PrintWriter(bw); System.out.println(“REGISTRO DE ESTUDIANTE”); System.out.println(“Nombre del estudiante: ”); wr.write(sc.nextLine()+“\r\n”); System.out.println(“\nNota del corte 1: ”); wr.write(sc.nextLine()+“\r\n”); System.out.println(“\nNota del corte 2: ”); wr.write(sc.nextLine()+“\r\n”); System.out.println(“\nNota del corte 3: ”); wr.write(sc.nextLine()+“\r\n”); wr.close(); bw.close(); }catch(IOException e){};
} static void mostrardatos(){ try{ FileInputStream fstream = new FileInputStream(“Notas.txt”); DataInputStream entrada = new DataInputStream(fstream); BufferedReader buffer = new BufferedReader(new InputStreamReader(entrada)); String strLinea; while ((strLinea = buffer.readLine()) != null) { System.out.println (strLinea); } entrada.close(); }catch (Exception e){ System.err.println(“Ocurrio un error: ” + e.getMessage()); } } static void mayornota(){ try{ FileInputStream fstream = new FileInputStream(“Notas.txt”); DataInputStream entrada = new DataInputStream(fstream); BufferedReader buffer = new BufferedReader(new InputStreamReader(entrada)); String strLinea; int mayornota=0; int dato=0; int i=0; while ((strLinea = buffer.readLine()) != null) { if(i!=0&&i!=4&&i!=8&&i!=12&&i!=16&&i!=20&&i!=24){ dato= Integer.parseInt(strLinea); if(dato>mayornota){ mayornota=dato; } } i++; } System.out.println(“La mayor nota es:” + mayornota); entrada.close(); }catch (Exception e){ System.err.println(“Ocurrio un error: ” + e.getMessage()); } }
static void promediocorte(){ Scanner sc = new Scanner(System.in); int corte=0; int i=0; int suma=0; System.out.println(“Ingrese el corte al que quiere calcular el promedio”); corte=sc.nextInt(); try{ FileInputStream fstream = new FileInputStream(“Notas.txt”); DataInputStream entrada = new DataInputStream(fstream); BufferedReader buffer = new BufferedReader(new InputStreamReader(entrada)); String strLinea; while ((strLinea = buffer.readLine()) != null) { if(corte==1){ if(i==1||i==5||i==9||i==13){ suma=suma+Integer.parseInt(strLinea); } } if(corte==2){ if(i==2||i==6||i==10||i==14){ suma=suma+Integer.parseInt(strLinea); } } if(corte==3){ if(i==3||i==7||i==11||i==15){ suma=suma+Integer.parseInt(strLinea); } } i++; } System.out.println(“El promedio del corte ”+corte+“ es ”+(suma/2)); entrada.close(); }catch (Exception e){ System.err.println(“Ocurrio un error: ” + e.getMessage()); } } public static void main(String[] args) throws IOException { int dec; do{ dec = menu(); switch(dec){ case 1:{ agregar(); break; } case 2:{ mostrardatos(); break; } case 3:{ mayornota(); break; } case 4:{ promediocorte(); break; } } }while(dec!=5); } }
Ejecución:
0 notes
Text
Compilar y ejecutar una clase de Java que ejecuta un cmdlet de PowerShell utilizando Runtime
Compilar y ejecutar una clase de Java que ejecuta un cmdlet de PowerShell utilizando Runtime
Clase de Java que ejecuta PowerShell (la clase tiene que ser compilada) import java.io.IOException; import java.util.concurrent.TimeUnit; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class EjecutarPowerShell { public static void main(String[] args) throws InterruptedException { Runtime runtime = Runtime.getRuntime(); try { Process process =…
View On WordPress
#IOException#Java#java.io.BufferedReader#java.io.InputStreamReader#java.io.IOException#java.util.concurrent.TimeUnit#PSVersion#PSVersionTable#stdout#System.out.println
0 notes
Text
async task
private String url; private Uri.Builder builder; private void jsonRecycerview() { progressDialog = new ProgressDialog(StudentActivity.this); progressDialog.setTitle("Get Class List"); progressDialog.setMessage("Loading..."); progressDialog.setCancelable(false); progressDialog.show(); String url = getResources().getString(R.string.main_service) + getResources().getString(R.string.student_class_by_year); builder = new Uri.Builder().appendQueryParameter("school_id", sharedPreferences.getString("school_id", "")) .appendQueryParameter("year", item); Toast.makeText(StudentActivity.this, "dfg: " + item, Toast.LENGTH_LONG).show(); OnAsyncResult onAsyncResult = new OnAsyncResult() { @Override public void onSuccess(String result) { Log.e("RESULT", ">>>>>> " + result); progressDialog.dismiss(); try { JSONObject jsonObject = new JSONObject(result); if (jsonObject.getString("status").equals("true")) { JSONArray jsonArray = jsonObject.getJSONArray("data"); for (int i = 0; i < jsonArray.length(); i++) { JSONObject jsonObject1 = jsonArray.getJSONObject(i); StudentYear studentYear = new StudentYear(); studentYear.setClassName(jsonObject1.getString("class_name")); studentYear.setClassYear(jsonObject1.getString("class_year")); studentYear.setTotalstudents(jsonObject1.getString("totalstudents")); studentYear.setClassId(jsonObject1.getString("class_id")); studentYearList.add(studentYear); } } recyclerView.setLayoutManager(new LinearLayoutManager(StudentActivity.this)); // mStudentClass = new ArrayList<>(); studentClassAdapter = new StudentClassAdapter(StudentActivity.this, studentYearList); recyclerView.setAdapter(studentClassAdapter); // studentClassAdapter.notifyDataSetChanged(); //studentClassAdapter.swap(studentYearList); /* runOnUiThread(new Thread(new Runnable() { @Override public void run() {*/ // studentClassAdapter.refreshEvents(studentYearList); /*} }));*/ } catch (JSONException e) { e.printStackTrace(); } } @Override public void onFailure(String result) { progressDialog.dismiss(); } }; GetAsyncTask getAsyncTask = new GetAsyncTask(url, onAsyncResult, builder); getAsyncTask.execute(); } import android.net.Uri;
import android.os.AsyncTask; import android.text.TextUtils; import android.util.Log; import java.io.BufferedInputStream; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.StringWriter; import java.net.HttpURLConnection; import java.net.SocketTimeoutException; import java.net.URL; /** * Created by prats on 3/16/2015. */ public class GetAsyncTask extends AsyncTask<Void, Void, String> { private String url; private OnAsyncResult onAsyncResult; private Boolean resultFlag; private Uri.Builder builder; public GetAsyncTask(String url, OnAsyncResult listner, Uri.Builder builder) { this.url = url; this.onAsyncResult = listner; resultFlag = false; this.builder = builder; } @Override protected void onPreExecute() { super.onPreExecute(); } @Override protected String doInBackground(Void... params) { String final_url = url.replaceAll(" ", "%20"); try { URL url = new URL(final_url); HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection(); httpURLConnection.setRequestMethod("POST"); httpURLConnection.setConnectTimeout(10000); httpURLConnection.setReadTimeout(10000); httpURLConnection.setDoInput(true); httpURLConnection.setDoOutput(true); /* Uri.Builder builder = new Uri.Builder() .appendQueryParameter("firstParam", paramValue1) .appendQueryParameter("secondParam", paramValue2) .appendQueryParameter("thirdParam", paramValue3);*/ String query = builder.build().getEncodedQuery(); if (!TextUtils.isEmpty(query)) { OutputStream os = httpURLConnection.getOutputStream(); BufferedWriter writer = new BufferedWriter( new OutputStreamWriter(os, "UTF-8")); writer.write(query); writer.flush(); writer.close(); os.close(); } httpURLConnection.connect(); Log.e("Response Code:", "Response Code: " + httpURLConnection.getResponseCode()); InputStream in = new BufferedInputStream(httpURLConnection.getInputStream()); //String response = org.apache.commons.io.IOUtils.toString(in, "UTF-8"); String response = getStringFromInputStream(in); Log.e("Response : ", response); resultFlag = true; return response; } catch (SocketTimeoutException e1) { resultFlag = false; return "Connection has timed out. Do you want to retry?"; } catch (Exception e) { e.printStackTrace(); resultFlag = false; return "Unexpected error has occurred"; } } @Override protected void onPostExecute(String result) { if (resultFlag) { if (onAsyncResult != null) { onAsyncResult.onSuccess(result); } } else { if (onAsyncResult != null) { onAsyncResult.onFailure(result); } } } public static String getStringFromInputStream(InputStream stream) throws IOException { int n = 0; char[] buffer = new char[1024 * 4]; InputStreamReader reader = new InputStreamReader(stream, "UTF8"); StringWriter writer = new StringWriter(); while (-1 != (n = reader.read(buffer))) writer.write(buffer, 0, n); return writer.toString(); } } public interface OnAsyncResult { public void onSuccess(String result); public void onFailure(String result); }
0 notes
Text
package de.unilog.example; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.URL; import java.util.Properties; public class ResourceAsStream { private static final String PATH = "de/unilog/config/test.properties"; public static void main(String[] args) { URL parentFolder = ResourceAsStream.class.getResource(""); System.out.println(parentFolder); InputStream stream = ResourceAsStream.class.getResourceAsStream("../config/test.properties"); InputStreamReader isr = new InputStreamReader(stream); BufferedReader br = new BufferedReader(isr); try { System.out.println(br.readLine()); } catch (IOException e) { e.printStackTrace(); } //jetzt über properties Properties props = new Properties(); try { //props.load(new FileReader(PATH)); props.load(ResourceAsStream.class.getResourceAsStream("../config/test.properties")); System.out.println(props.get("text")); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
0 notes
Text
import java.io.BufferedReader; import java.io.InputStreamReader; Intent i = new Intent(Intent.ACTION_OPEN_DOCUMENT); i.setType("text/plain"); i.putExtra(Intent.EXTRA_TITLE, "memo.txt"); starActivityForResult(i, 2); if (requestCode == 2 && resultCode == RESULT_OK) { StringBuilder str = new StringBuilder(); try(BufferedReader reader = new BufferedReader(new InputStreamReader( getContentResolver().openInputStream(data.getData())))) { String line; while ((line = reader.readLine()) != null) { str.append(line); str.append(System.getProperty("line.separator")); } } catch (IOException e) { e.printStackTrace(); } txtMemo.setText(str.toString()); } SQLiteOpenHelperコンストラクター public SQLiteOpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) onCreateメソッド public abstract void onCreate(SQLiteDatabase db) execSQLメソッド public void execSQL(String sql) onUpgradeメソッド public abstract void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) String[] isbns = {"978-4-7980-4512-2", "978-4-7980-4179-7", "978-4-7741-8030-4",}; String[] titles = {"", "", ""}; int[] prices = {300, 3500, 2680, 2780, 3200}; db.beginTransaction(); try { SQLiteStatement sql = db.compileStatement( "INSERT INTO books(isbn, title, price) VALUES(?, ?, ?)"); for (int i = 0; i < isbns.length; i++) { sql.bindString(1, isbns[i]); sql.bindString(2, titles[i]); sql.bindLong(3, prices[i]); sql.executeInsert(); } sb.setTransactionSuccessful(); } catch (SQLException e) { e.printStackTrace(); } finally { db.endTransaction(); } compleStatement public SQLiteStatement compileStatement(String sql) bindXxxxメソッド public void bindXxxxx(int index, xxxx value) executeInsertメソッド public long executeInsert() putメソッド public void put(String key, T value) insertメソッド public long insert(String table, String nullColumnHack, ContentValues values) deleteメソッド public int delete(String table, String whereClause, String[] whereArgs) queryメソッド public Cursor query(String table, String[] columns, String selection, String[] selectionArgs, Stirng groupBy, String having, String orderBy, String limit) getXxxxメソッド public abstract T getXxx(int columnIndex) db.insertWithOnConflict("books", null, cv, SQLiteDatabase.CONFLICT_REPLACE); insertWithOnConflictメソッド public long insertWithOnConflict(String table, String nullColumnHack, ContentValues values, int conflictAlgorithm) updateメソッド public int update(String table, ContentValues values, String whereClause, String[] whereArgs) addPreferencesFromResourceメソッド public void addPreferencesFromResource(int resId) getDeafaultSharePreferencesメソッド public staticPreferncesメソッド public static SharePreferences getDefaultSharedPreferences(Context context) getXxxxメソッド public abstract T getXxx(String key, T defValue) <activity android:name=".MyConfigActivity"> </activity>
0 notes