LibreOffice calc is a software using which a user can do all its jobs that is done with the help of software like MS EXCEL. that means any user want to work with spreadsheet can make the use of LibreOffice calc. for more details on the working of LibreOffice calc check the book following the link http://www.amazon.com/LibreOffice-Calc-Guide-KAMAL-PARKASH-ebook/dp/B00F2GSJA0/ref=sr_1_3?ie=UTF8&qid=1449507729&sr=8-3&keywords=kamal+parkash
Wednesday, 29 March 2017
Monday, 20 March 2017
Program based on Enumeration (or enum) in C
1. Two enum names can have same value. For example, in the following C program both ‘Failed’ and ‘Freezed’ have same value 0.
#include <stdio.h>
enum
State {Working = 1, Failed = 0, Freezed = 0};
int
main()
{
printf
(
"%d, %d, %d"
, Working, Failed, Freezed);
return
0;
}
2. If we do not explicitly assign values to enum
names, the compiler by default assigns values starting from 0. For
example, in the following C program, sunday gets value 0, monday gets 1,
and so on.
#include <stdio.h>
enum
day {sunday, monday, tuesday, wednesday, thursday, friday, saturday};
int
main()
{
enum
day d = thursday;
printf
(
"The day number stored in d is %d"
, d);
return
0;
}
3. We can assign values to some name in any order. All unassigned names get value as value of previous name plus one.
#include <stdio.h>
enum
day {sunday = 1, monday, tuesday = 5,
wednesday, thursday = 10, friday, saturday};
int
main()
{
printf
(
"%d %d %d %d %d %d %d"
, sunday, monday, tuesday,
wednesday, thursday, friday, saturday);
return
0;
}
Python Script to Start and Stop Amazon AWS Instances
import boto.ec2 import sys # specify AWS keys auth = {"aws_access_key_id": "<key_id>", "aws_secret_access_key": "<access_key>"} def main(): # read arguments from the command line and # check whether at least two elements were entered if len(sys.argv) < 2: print "Usage: python aws.py {start|stop}\n" sys.exit(0) else: action = sys.argv[1] if action == "start": startInstance() elif action == "stop": stopInstance() else: print "Usage: python aws.py {start|stop}\n" def startInstance(): print "Starting the instance..." # change "eu-west-1" region if different try: ec2 = boto.ec2.connect_to_region("eu-west-1", **auth) except Exception, e1: error1 = "Error1: %s" % str(e1) print(error1) sys.exit(0) # change instance ID appropriately try: ec2.start_instances(instance_ids="i-12345678") except Exception, e2: error2 = "Error2: %s" % str(e2) print(error2) sys.exit(0) def stopInstance(): print "Stopping the instance..." try: ec2 = boto.ec2.connect_to_region("eu-west-1", **auth) except Exception, e1: error1 = "Error1: %s" % str(e1) print(error1) sys.exit(0) try: ec2.stop_instances(instance_ids="i-12345678") except Exception, e2: error2 = "Error2: %s" % str(e2) print(error2) sys.exit(0) if __name__ == '__main__': main()
Saturday, 18 March 2017
Recursive function to sum an integer set in PHP
<? function summation ($count) { if ($count != 0) : return $count + summation($count-1); endif; } $sum = summation(10); print "Summation = $sum"; ?>
Android - Application Components
Application components are the essential building blocks of an
Android application. These components are loosely coupled by the
application manifest file AndroidManifest.xml that describes each component of the application and how they interact.
There are following four main components that can be used within an Android application −
Sr.No | Components & Description |
---|---|
1 |
Activities They dictate the UI and handle the user interaction to the smart phone screen. |
2 | Services They handle background processing associated with an application. |
3 |
Broadcast Receivers They handle communication between Android OS and applications. |
4 |
Content Providers They handle data and database management issues. |
Features of Android
Android is a powerful operating system competing with Apple 4GS and supports great features. Few of them are listed below −
Sr.No. | Feature & Description |
---|---|
1 | Beautiful UI Android OS basic screen provides a beautiful and intuitive user interface. |
2 | Connectivity GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE, NFC and WiMAX. |
3 | Storage SQLite, a lightweight relational database, is used for data storage purposes. |
4 | Media support H.263, H.264, MPEG-4 SP, AMR, AMR-WB, AAC, HE-AAC, AAC 5.1, MP3, MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF, and BMP. |
5 | Messaging SMS and MMS |
6 | Web browser Based on the open-source WebKit layout engine, coupled with Chrome's V8 JavaScript engine supporting HTML5 and CSS3. |
7 | Multi-touch Android has native support for multi-touch which was initially made available in handsets such as the HTC Hero. |
8 | Multi-tasking User can jump from one task to another and same time various application can run simultaneously. |
9 | Resizable widgets Widgets are resizable, so users can expand them to show more content or shrink them to save space. |
10 | Multi-Language Supports single direction and bi-directional text. |
11 | GCM Google Cloud Messaging (GCM) is a service that lets developers send short message data to their users on Android devices, without needing a proprietary sync solution. |
12 | Wi-Fi Direct A technology that lets apps discover and pair directly, over a high-bandwidth peer-to-peer connection. |
13 | Android Beam A popular NFC-based technology that lets users instantly share, just by touching two NFC-enabled phones together. |
Examples of Successful Hashtag Campaigns
#WantAnR8—Audi
Audi’s #WantAnR8 campaign is still
looked at as one of the single most successful Twitter campaigns in
history. It all started when the car company saw that somebody had sent
out a Tweet with the hashtag #WantAnR8 to explain why they wanted an
Audi R8. Audi quickly created a contest that bolstered the use of this
hashtag. All users had to do was create and post a Tweet using that
hashtag and they’re entered for a chance to win an R8 for a day.
Impressions in digital marketing
Impressions are when an advertisement or any other
form of digital media renders on a user's screen. Impressions are not
action-based and are merely defined by a user potentially seeing the
advertisement, making CPM campaigns ideal for businesses intent on
spreading brand awareness.
Impressions In Digital Marketing
Digital
marketing has made impression tracking significantly more quantitative
than offline advertising. For example, a billboard owner has no concrete
way of estimating the number of impressions his platform grants
advertisers. Impression-based online campaigns, on the other hand, can
measure impressions concretely, and are generally sold in terms of cost-per-thousand (CPM) impressions.
Impression tracking is a common metric for measuring the performance of most types of online marketing campaigns, including:
- Pay-per-click impressions, measured against actual clicks
- Number of times a meme appears on social media
- On-site views of internal calls-to-action
- Access of graphic materials through third-party sites, such as Pinterest or Google Image Search
Impressions generally come in two forms: served and viewable.
Served Impressions
The
current standard for tracking online impressions is based on served
content: whenever a marketing-related file is accessed and transmitted
that activity counts as an impression. This is extremely easy to track
as it relies on pure server data to count the impressions.
Counting
impressions based on served content still has the 'billboard' problem,
in that it's difficult to tell how much impact the content had without
deeper data analysis. Also, in some cases files can be accessed without
being viewable by the consumer.
As a result, ecommerce businesses
purchasing impression-based advertising such as display ads have urged
the adoption of more accurate systems for measuring impressions. The new
viewable impressions standard seeks to address this need.
Viewable Impressions
The
viewable impressions method uses data gathered from a user's device to
refine the impression count by excluding cases where, in all likelihood,
the content was not seen.
Viewable impression tracking can identify user behaviors which prevent ad viewing, including:
- Ad-blocking software
- Screen resolutions too small for the ad to appear onscreen.
- Users browsing scrolling down before the requested ad has loaded.
- Broken plug-ins preventing content display.
- Mobile incompatibilities such as desktop-only websites.
- Minimized browser windows.
- User movement between different applications.
- Pages loaded in background tabs then never accessed.
- Non-user interference, like malware cloaking ads
The
benefits of viewable impression tracking are twofold. First, a company
receives more accurate information on the number of actual impressions
made. Secondly, the data collected is highly actionable and suggests
improvements which can ensure greater rates of content delivery.
Examples of Strong Digital Marketing Campaigns
Search Engine Marketing (PPC)
So many people consider PPC search engine marketing to be bland and dull, especially when focusing on text ads. However, some brands have leveraged the medium to deliver their message in an imaginative and engaging way.
This ad from Samsung is an excellent example of what can be achieved with a combination of effective targeting and creative marketing.
Facebook
Social media advertising doesn't have to be extreme to grab attention. This ad from NatureBox was compelling due to a combination of simple factors that anyone could repeat for their own business:
Twitter is all about the here-and-now, so the most engaging content needs to have some time-sensitivity about it. Doubletree by Hilton achieved time-sensitivity as well as creating intriguing interactions with its audience when they promoted this tweet.
LinkedIn
Fruit of the loom, a retail clothing brand ran a campaign where they sent an offer of free underwear & socks to individuals when their profile indicated they had a new job.
The offer is a perfect match for the LinkedIn audience, and their clever use of targeting, along with their witty ad creative resulted in a huge success for the brand.
Retargeting (remarketing)
GetResponse is an exceptional instance of using retargeting (or remarketing) to reach customers. Rather than presenting users with the same ads again and again, they used a series of ads that focused on the core features and benefits of their software.
As with all successful retargeting campaigns, they also cap their frequency to ensure that users don't feel 'stalked' by their ads.
So many people consider PPC search engine marketing to be bland and dull, especially when focusing on text ads. However, some brands have leveraged the medium to deliver their message in an imaginative and engaging way.
This ad from Samsung is an excellent example of what can be achieved with a combination of effective targeting and creative marketing.
Social media advertising doesn't have to be extreme to grab attention. This ad from NatureBox was compelling due to a combination of simple factors that anyone could repeat for their own business:
- Fantastic image quality
- A simple and clearly stated offer
- Benefits/features included
- Targeted to the right audience
Twitter is all about the here-and-now, so the most engaging content needs to have some time-sensitivity about it. Doubletree by Hilton achieved time-sensitivity as well as creating intriguing interactions with its audience when they promoted this tweet.
Fruit of the loom, a retail clothing brand ran a campaign where they sent an offer of free underwear & socks to individuals when their profile indicated they had a new job.
The offer is a perfect match for the LinkedIn audience, and their clever use of targeting, along with their witty ad creative resulted in a huge success for the brand.
Retargeting (remarketing)
GetResponse is an exceptional instance of using retargeting (or remarketing) to reach customers. Rather than presenting users with the same ads again and again, they used a series of ads that focused on the core features and benefits of their software.
As with all successful retargeting campaigns, they also cap their frequency to ensure that users don't feel 'stalked' by their ads.
Tips and Examples for Digital Marketing Success
Marketing in a digital world has evolved. There was a time when ads
in leading newspapers, commercials during popular TV shows, and
strategically placed billboards did the job. Now, with every passing
day, getting noticed by your audience is becoming more and more
difficult.
Facebook pages and Twitter feeds are overcrowded. Odds
are fair that your post will get lost in the constant, unabated,
overwhelming storm of information.
So, when you're ready to implement your digital marketing strategy, how can you gird yourself to do battle?
Being
in the right place, at the right time, in front of the right people is
about implementing the right tactics and ideas, as in the following five
digital marketing examples.
1. Target the right audience
Facebook isn't the one-pill solution for all online ills. Neither is
Twitter. Identify your audience, think about where they are likely to
spend their time online, and then work on building a presence in those
very areas.
The "who" and "where" become extremely important when
you finally begin to study your ROI, much of that investment being your
precious time, not just money.
Example: Uber focused on mobile-savvy professionals who didn't mind paying that
little extra to travel in style and comfort. They made luxury standard,
and backed it up with a brilliant app that made booking an Uber ride
extremely quick and convenient. Uber is now a success story cited by
many and studied in depth.
2. Pay attention to the important numbers
Increasing
unique visitors to your website shouldn't be the end game. Converting
visitors is what counts. How many of them subscribed to your newsletter,
read your e-book, downloaded the free trail or simply filled out a form
you wished they would?
Ditto with Facebook likes. Garnering
thousands of fans on Facebook, though great by itself and no mean feat,
doesn't help your bottom line. How many of them convert to paying
buyers? Pay attention to the far more important numbers.
Many
online marketing companies tend on focus on the vanity metrics, and
pitch their services based on increase in shares, likes, visits, or
comments. Instead, the focus ought to be on conversions, sales, signups,
and relationships built.
Example: Pink Cake Box,
a small specialty cake shop in New Jersey, began by setting up a
WordPress website and blog, regularly posting about delicious cakes and
cupcakes, keeping the focus on the pictures to entice viewers. It
worked: Traffic grew, and orders with it. But the direct correlation
worked up to a point, beyond which the traffic simply consisted of
non-buyers who were just looking for information and recipes. To counter
that trend, the company began streamlining its content and focusing on
relevant traffic rather than aggregate traffic numbers.
3. Project clear goals and corresponding messages
Are
your various marketing channels projecting mixed messages? A high
bounce rate on your site should raise a red flag. Is your ad or post
giving a different impression, while the landing page doesn't deliver
what was expected, driving the visitor away? That phenomenon is
prevalent in paid search. You are losing valuable money and potential
customers.
Every digital marketing channel used must project a
unified goal and picture of your business. Keep your goals clear and
measurable, and your messages on point, when executing your digital
marketing strategy.
Example: Kiva
is a nonprofit microfinancing organization that allows people to lend
money through the Internet to entrepreneurs and students worldwide. Its
mission is "to connect people through lending to alleviate poverty." As
of Nov 2013, Kiva was raising about $1 million every three days. The
messages and goals from Kiva have been clear and uniform across all
social channels. The platform now has a community of more than a million
lenders from around the world.
4. Be accessible on the go
Being
mobile-friendly isn't optional anymore. More and more people are
accessing the Internet via mobile devices. Being easily available and
shareable via smartphone is imperative for business success.
Example: BuzzFeed
as tripled visitor figures over the last two years. It popularly
targets the "Bored at Work" and "Bored in Line" people to consume and
share interesting content. It found that people who consume content on
their phones while waiting are major drivers of social sharing. It made
sure its content was mobile-friendly, making reading, participating, and
sharing very easy. Currently, more than one-third of BuzzFeed traffic
is from mobile devices.
5. Connect and collaborate
What
you can achieve alone has a limit. You need to try to maximize output
with limited input by collaborating and getting people to happily do the
work for you (much like Tom Sawyer). Create a great platform, post
valuable information, build a community, and empower them to act... then
watch it flourish.
Example: Ana White
is a carpenter who created a website to help women do DIY carpentry
projects. She has created a huge following, among men and women alike,
who love, use, and share her blueprints and ideas. Ana encourages her
visitors to post pictures of their projects. Remarkably, she has a very
popular site where most of the content comes from the community. She
herself does not post very often. Although she does comment on others'
posts and engages with her readers, her community actively posts and
answers each others' questions.
Tuesday, 14 March 2017
Java Program to Implement Binary search using recursion
public
class
MyRecursiveBinarySearch {
public
static
int
recursiveBinarySearch(
int
[] sortedArray,
int
start,
int
end,
int
key) {
if
(start < end) {
int
mid = start + (end - start) /
2
;
if
(key < sortedArray[mid]) {
return
recursiveBinarySearch(sortedArray, start, mid, key);
}
else
if
(key > sortedArray[mid]) {
return
recursiveBinarySearch(sortedArray, mid+
1
, end , key);
}
else
{
return
mid;
}
}
return
-(start +
1
);
}
public
static
void
main(String[] args) {
int
[] arr1 = {
2
,
45
,
234
,
567
,
876
,
900
,
976
,
999
};
int
index = recursiveBinarySearch(arr1,
0
,arr1.length,
45
);
System.out.println(
"Found 45 at "
+index+
" index"
);
index = recursiveBinarySearch(arr1,
0
,arr1.length,
999
);
System.out.println(
"Found 999 at "
+index+
" index"
);
index = recursiveBinarySearch(arr1,
0
,arr1.length,
876
);
System.out.println(
"Found 876 at "
+index+
" index"
);
}
}
Java Program to implement Linear search or Sequential search algorithm
public
class
MyLinearSearch {
public
static
int
linerSearch(
int
[] arr,
int
key){
int
size = arr.length;
for
(
int
i=
0
;i<size;i++){
if
(arr[i] == key){
return
i;
}
}
return
-
1
;
}
public
static
void
main(String a[]){
int
[] arr1= {
23
,
45
,
21
,
55
,
234
,
1
,
34
,
90
};
int
searchKey =
34
;
System.out.println(
"Key "
+searchKey+
" found at index: "
+linerSearch(arr1, searchKey));
int
[] arr2= {
123
,
445
,
421
,
595
,
2134
,
41
,
304
,
190
};
searchKey =
421
;
System.out.println(
"Key "
+searchKey+
" found at index: "
+linerSearch(arr2, searchKey));
}
}
Java LinkedList - use of basic function
import
java.util.LinkedList;
public
class
MyBasicOperations {
public
static
void
main(String a[]){
LinkedList<String> ll =
new
LinkedList<String>();
ll.add(
"Orange"
);
ll.add(
"Apple"
);
ll.add(
"Grape"
);
ll.add(
"Banana"
);
System.out.println(ll);
System.out.println(
"Size of the linked list: "
+ll.size());
System.out.println(
"Is LinkedList empty? "
+ll.isEmpty());
System.out.println(
"Does LinkedList contains 'Grape'? "
+ll.contains(
"Grape"
));
}
}
programming a simple generics class in java
public
class
MySimpleGenerics {
public
static
void
main(String a[]){
//we are going to create SimpleGeneric object with String as type parameter
SimpleGeneric<String> sgs =
new
SimpleGeneric<String>(
"JAVA2NOVICE"
);
sgs.printType();
//we are going to create SimpleGeneric object with Boolean as type parameter
SimpleGeneric<Boolean> sgb =
new
SimpleGeneric<Boolean>(Boolean.TRUE);
sgb.printType();
}
}
/**
* Here T is a type parameter, and it will be replaced with
* actual type when the object got created.
*/
class
SimpleGeneric<T>{
//declaration of object type T
private
T objReff =
null
;
//constructor to accept type parameter T
public
SimpleGeneric(T param){
this
.objReff = param;
}
public
T getObjReff(){
return
this
.objReff;
}
//this method prints the holding parameter type
public
void
printType(){
System.out.println(
"Type: "
+objReff.getClass().getName());
}
}
Java Program to read all elements in vector by using iterator
import
java.util.Iterator;
import
java.util.Vector;
public
class
VectorIterator {
public
static
void
main(String a[]){
Vector<String> vct =
new
Vector<String>();
//adding elements to the end
vct.add(
"First"
);
vct.add(
"Second"
);
vct.add(
"Third"
);
vct.add(
"Random"
);
Iterator<String> itr = vct.iterator();
while
(itr.hasNext()){
System.out.println(itr.next());
}
}
}
Java program to get list of all IPs of a given Host
import
java.net.InetAddress;
import
java.net.UnknownHostException;
public
class
MyAllIpAddresses {
public
static
void
main(String a[]){
try
{
InetAddress[] myHost = InetAddress.getAllByName(
"www.google.com"
);
for
(InetAddress host:myHost){
System.out.println(host.getHostAddress());
}
}
catch
(UnknownHostException ex) {
ex.printStackTrace();
}
}
}
Java program to get machine or local host IP address
import
java.net.InetAddress;
import
java.net.UnknownHostException;
public
class
MyIpAddress {
public
static
void
main(String a[]){
try
{
InetAddress ipAddr = InetAddress.getLocalHost();
System.out.println(ipAddr.getHostAddress());
}
catch
(UnknownHostException ex) {
ex.printStackTrace();
}
}
}
Design Pattern in Object Oriented Programming
A design pattern is a general reusable solution to a
commonly occurring problem within a given context in software design.
A design pattern is not a finished design that can be transformed
directly into source or machine code. It is a description or template
for how to solve a problem that can be used in many different
situations. Patterns are formalized best practices that the programmer
must
implement in the application. Object-oriented design patterns
typically show relationships and interactions between classes or
objects,
without specifying the final application classes or objects that are
involved. Patterns that imply object-orientation or more generally
mutable state, are not as applicable in functional programming
languages.
The types of design patterns are Creational, Structural, and Behavioral design patterns.
Creational Design Pattern
Creational design patterns are design patterns that
deal with object creation mechanisms, trying to create objects in a
manner
suitable to the situation. The basic form of object creation could
result in design problems or added complexity to the design. Creational
design patterns solve this problem by somehow controlling this
object creation. Types of creational design patterns are:
- Singleton Pattern
- Factory Pattern
- Abstract Factory Pattern
- Builder Pattern
- Prototype Pattern
Structural Design Pattern
Structural design patterns are design patterns that
ease the design by identifying a simple way to realize relationships
between entities.
- Adapter Pattern
- Composite Pattern
- Proxy Pattern
- Flyweight Pattern
- Facade Pattern
- Bridge Pattern
- Decorator Pattern
Behavioral Design Pattern
Behavioral design patterns are design patterns that identify common communication patterns between objects and realize
these patterns. By doing so, these patterns increase flexibility in carrying out this communication.
- Template Method Pattern
- Mediator Pattern
- Chain of Responsibility Pattern
- Observer Pattern
- Strategy Pattern
- Command Pattern
- State Pattern
- Visitor Pattern
- Iterator Pattern
- Memento Pattern
Java program for multi threading
Java Thread By Implementing Runnable Interface
class
MyRunnableThread
implements
Runnable{
public
static
int
myCount =
0
;
public
MyRunnableThread(){
}
public
void
run() {
while
(MyRunnableThread.myCount <=
10
){
try
{
System.out.println(
"Expl Thread: "
+(++MyRunnableThread.myCount));
Thread.sleep(
100
);
}
catch
(InterruptedException iex) {
System.out.println(
"Exception in thread: "
+iex.getMessage());
}
}
}
}
public
class
RunMyThread {
public
static
void
main(String a[]){
System.out.println(
"Starting Main Thread..."
);
MyRunnableThread mrt =
new
MyRunnableThread();
Thread t =
new
Thread(mrt);
t.start();
while
(MyRunnableThread.myCount <=
10
){
try
{
System.out.println(
"Main Thread: "
+(++MyRunnableThread.myCount));
Thread.sleep(
100
);
}
catch
(InterruptedException iex){
System.out.println(
"Exception in main thread: "
+iex.getMessage());
}
}
System.out.println(
"End of Main Thread..."
);
}
}
Java Thread By Extending Thread Class
class
MySmpThread
extends
Thread{
public
static
int
myCount =
0
;
public
void
run(){
while
(MySmpThread.myCount <=
10
){
try
{
System.out.println(
"Expl Thread: "
+(++MySmpThread.myCount));
Thread.sleep(
100
);
}
catch
(InterruptedException iex) {
System.out.println(
"Exception in thread: "
+iex.getMessage());
}
}
}
}
public
class
RunThread {
public
static
void
main(String a[]){
System.out.println(
"Starting Main Thread..."
);
MySmpThread mst =
new
MySmpThread();
mst.start();
while
(MySmpThread.myCount <=
10
){
try
{
System.out.println(
"Main Thread: "
+(++MySmpThread.myCount));
Thread.sleep(
100
);
}
catch
(InterruptedException iex){
System.out.println(
"Exception in main thread: "
+iex.getMessage());
}
}
System.out.println(
"End of Main Thread..."
);
}
}
Java Program to remove an element from collection using Iterator object
import
java.util.ArrayList;
import
java.util.Iterator;
import
java.util.List;
public
class
MyItrRemoveElement {
public
static
void
main(String a[]){
String removeElem =
"Perl"
;
List<String> myList =
new
ArrayList<String>();
myList.add(
"Java"
);
myList.add(
"Unix"
);
myList.add(
"Oracle"
);
myList.add(
"C++"
);
myList.add(
"Perl"
);
System.out.println(
"Before remove:"
);
System.out.println(myList);
Iterator<String> itr = myList.iterator();
while
(itr.hasNext()){
if
(removeElem.equals(itr.next())){
itr.remove();
}
}
System.out.println(
"After remove:"
);
System.out.println(myList);
}
}
Java Program to iterate through collection objects
import
java.util.ArrayList;
import
java.util.Iterator;
import
java.util.List;
public
class
MyCollectionIterator {
public
static
void
main(String a[]){
List<String> myList =
new
ArrayList<String>();
myList.add(
"Java"
);
myList.add(
"Unix"
);
myList.add(
"Oracle"
);
myList.add(
"C++"
);
myList.add(
"Perl"
);
Iterator<String> itr = myList.iterator();
while
(itr.hasNext()){
System.out.println(itr.next());
}
}
}
Java ClassPath
Question: What is the meaning of PATH and
CLASSPATH ? How it is set in environment variable? Why we must learn it.
ANS:- Java is an OOP language. In java programming language for compiling the
program we use the compiler that converts the source code into the byte code
after that, that byte code is interpreted by JVM that converts the bytecode into
the machine independent code. In java how the Java compiler and the JVM
use the class search path to locate classes when they are referenced by other
Java code. Searching class path is
important for all Java developers.Many
development tools have their own ways of manipulating the class path, which vary
from product to product.For doing this we will use only simple command-line
tools to carry out the compile operations. No difference, between the way that
the Java compiler searches for classes, and the way that the JVM does it at run
time. The compiler has the ability to compile classes from source code, where
the JVM does not. We will use the compiler, but similar issues apply at
run time.
java program for different types of array example
public class ArrayExamples
{ public static void main(String[] args)
{ int[] list = {1, 2, 3, 4, 1, 2, 3};
findAndPrintPairs(list, 5);
bubblesort(list);
showList(list);
list = new int[]{ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11};
bubblesort(list);
showList(list);
list = new int[]{11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, -1, -2};
bubblesort(list);
showList(list);
list = new int[]{1};
bubblesort(list);
showList(list);
}
public static int findMin(int[] list)
{ assert list != null && list.length > 0 : "failed precondition";
int indexOfMin = 0;
for(int i = 1; i < list.length; i++)
{ if(list[i] < list[indexOfMin])
{ indexOfMin = i;
}
}
return indexOfMin;
}
public static void badResize(int[] list, int newSize)
{ assert list != null && newSize >= 0 : "failed precondition";
int[] temp = new int[newSize];
int limit = Math.min(list.length, newSize);
for(int i = 0; i < limit; i++)
{ temp[i] = list[i];
}
// uh oh!! Changing pointer, not pointee. This breaks the
// relationship between the parameter and argument
list = temp;
}
public static int[] goodResize(int[] list, int newSize)
{ assert list != null && newSize >= 0 : "failed precondition";
int[] result = new int[newSize];
int limit = Math.min(list.length, newSize);
for(int i = 0; i < limit; i++)
{ result[i] = list[i];
}
return result;
}
public static void findAndPrintPairs(int[] list, int target)
{ assert list != null : "failed precondition";
for(int i = 0; i < list.length; i++)
{ for(int j = i + 1; j < list.length; j++)
{ if(list[i] + list[j] == target)
{ System.out.println("The two elements at indices " + i + " and " + j
+ " are " + list[i] + " and " + list[j] + " add up to " + target);
}
}
}
}
public static void bubblesort(int[] list)
{
assert list != null : "failed precondition";
int temp;
boolean changed = true;
for(int i = 0; i < list.length && changed; i++)
{ changed = false;
for(int j = 0; j < list.length - i - 1; j++)
{ assert (j > 0) && (j + 1 < list.length) : "loop counter j " + j +
"is out of bounds.";
if(list[j] > list[j+1])
{ changed = true;
temp = list[j + 1];
list[j + 1] = list[j];
list[j] = temp;
}
}
}
assert isAscending( list );
}
public static void showList(int[] list)
{ for(int i = 0; i < list.length; i++)
System.out.print( list[i] + " " );
System.out.println();
}
public static boolean isAscending( int[] list )
{ boolean ascending = true;
int index = 1;
while( ascending && index < list.length )
{ assert index >= 0 && index < list.length;
ascending = (list[index - 1] <= list[index]);
index++;
}
return ascending;
}
}
{ public static void main(String[] args)
{ int[] list = {1, 2, 3, 4, 1, 2, 3};
findAndPrintPairs(list, 5);
bubblesort(list);
showList(list);
list = new int[]{ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11};
bubblesort(list);
showList(list);
list = new int[]{11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, -1, -2};
bubblesort(list);
showList(list);
list = new int[]{1};
bubblesort(list);
showList(list);
}
public static int findMin(int[] list)
{ assert list != null && list.length > 0 : "failed precondition";
int indexOfMin = 0;
for(int i = 1; i < list.length; i++)
{ if(list[i] < list[indexOfMin])
{ indexOfMin = i;
}
}
return indexOfMin;
}
public static void badResize(int[] list, int newSize)
{ assert list != null && newSize >= 0 : "failed precondition";
int[] temp = new int[newSize];
int limit = Math.min(list.length, newSize);
for(int i = 0; i < limit; i++)
{ temp[i] = list[i];
}
// uh oh!! Changing pointer, not pointee. This breaks the
// relationship between the parameter and argument
list = temp;
}
public static int[] goodResize(int[] list, int newSize)
{ assert list != null && newSize >= 0 : "failed precondition";
int[] result = new int[newSize];
int limit = Math.min(list.length, newSize);
for(int i = 0; i < limit; i++)
{ result[i] = list[i];
}
return result;
}
public static void findAndPrintPairs(int[] list, int target)
{ assert list != null : "failed precondition";
for(int i = 0; i < list.length; i++)
{ for(int j = i + 1; j < list.length; j++)
{ if(list[i] + list[j] == target)
{ System.out.println("The two elements at indices " + i + " and " + j
+ " are " + list[i] + " and " + list[j] + " add up to " + target);
}
}
}
}
public static void bubblesort(int[] list)
{
assert list != null : "failed precondition";
int temp;
boolean changed = true;
for(int i = 0; i < list.length && changed; i++)
{ changed = false;
for(int j = 0; j < list.length - i - 1; j++)
{ assert (j > 0) && (j + 1 < list.length) : "loop counter j " + j +
"is out of bounds.";
if(list[j] > list[j+1])
{ changed = true;
temp = list[j + 1];
list[j + 1] = list[j];
list[j] = temp;
}
}
}
assert isAscending( list );
}
public static void showList(int[] list)
{ for(int i = 0; i < list.length; i++)
System.out.print( list[i] + " " );
System.out.println();
}
public static boolean isAscending( int[] list )
{ boolean ascending = true;
int index = 1;
while( ascending && index < list.length )
{ assert index >= 0 && index < list.length;
ascending = (list[index - 1] <= list[index]);
index++;
}
return ascending;
}
}
java program for string manipulation
public class StringExample
{ public static void main(String[] args)
{ String s1 = "Computer Science";
int x = 307;
String s2 = s1 + " " + x;
String s3 = s2.substring(10,17);
String s4 = "is fun";
String s5 = s2 + s4;
System.out.println("s1: " + s1);
System.out.println("s2: " + s2);
System.out.println("s3: " + s3);
System.out.println("s4: " + s4);
System.out.println("s5: " + s5);
//showing effect of precedence
x = 3;
int y = 5;
String s6 = x + y + "total";
String s7 = "total " + x + y;
String s8 = " " + x + y + "total";
System.out.println("s6: " + s6);
System.out.println("s7: " + s7);
System.out.println("s8: " + s8);
}
}
{ public static void main(String[] args)
{ String s1 = "Computer Science";
int x = 307;
String s2 = s1 + " " + x;
String s3 = s2.substring(10,17);
String s4 = "is fun";
String s5 = s2 + s4;
System.out.println("s1: " + s1);
System.out.println("s2: " + s2);
System.out.println("s3: " + s3);
System.out.println("s4: " + s4);
System.out.println("s5: " + s5);
//showing effect of precedence
x = 3;
int y = 5;
String s6 = x + y + "total";
String s7 = "total " + x + y;
String s8 = " " + x + y + "total";
System.out.println("s6: " + s6);
System.out.println("s7: " + s7);
System.out.println("s8: " + s8);
}
}
java program to calculate factorial using for loop
public class Factorial
{
public static void main(String[] args)
{ final int NUM_FACTS = 100;
for(int i = 0; i < NUM_FACTS; i++)
System.out.println( i + "! is " + factorial(i));
}
public static int factorial(int n)
{ int result = 1;
for(int i = 2; i <= n; i++)
result *= i;
return result;
}
}
{
public static void main(String[] args)
{ final int NUM_FACTS = 100;
for(int i = 0; i < NUM_FACTS; i++)
System.out.println( i + "! is " + factorial(i));
}
public static int factorial(int n)
{ int result = 1;
for(int i = 2; i <= n; i++)
result *= i;
return result;
}
}
java program for prime number
import java.math.BigInteger;
import java.util.Random;
public class PrimeEx {
/**
* @param args
*/
public static void main(String[] args) {
printTest(10, 4);
printTest(2, 2);
printTest(54161329, 4);
printTest(1882341361, 2);
printTest(36, 9);
System.out.println(isPrime(54161329) + " expect false");
System.out.println(isPrime(1882341361) + " expect true");
System.out.println(isPrime(2) + " expect true");
int numPrimes = 0;
Stopwatch s = new Stopwatch();
s.start();
for(int i = 2; i < 10000000; i++) {
if(isPrime(i)) {
numPrimes++;
}
}
s.stop();
System.out.println(numPrimes + " " + s);
s.start();
boolean[] primes = getPrimes(10000000);
int np = 0;
for(boolean b : primes)
if(b)
np++;
s.stop();
System.out.println(np + " " + s);
System.out.println(new BigInteger(1024, 10, new Random()));
}
public static boolean[] getPrimes(int max) {
boolean[] result = new boolean[max + 1];
for(int i = 2; i < result.length; i++)
result[i] = true;
final double LIMIT = Math.sqrt(max);
for(int i = 2; i <= LIMIT; i++) {
if(result[i]) {
int index = 2 * i;
while(index < result.length){
result[index] = false;
index += i;
}
}
}
return result;
}
public static void printTest(int num, int expectedFactors) {
Stopwatch st = new Stopwatch();
st.start();
int actualFactors = numFactors(num);
st.stop();
System.out.println("Testing " + num + " expect " + expectedFactors + ", " +
"actual " + actualFactors);
if(actualFactors == expectedFactors)
System.out.println("PASSED");
else
System.out.println("FAILED");
System.out.println(st.time());
}
// pre: num >= 2
public static boolean isPrime(int num) {
assert num >= 2 : "failed precondition. num must be >= 2. num: " + num;
final double LIMIT = Math.sqrt(num);
boolean isPrime = (num == 2) ? true : num % 2 != 0;
int div = 3;
while(div <= LIMIT && isPrime) {
isPrime = num % div != 0;
div += 2;
}
return isPrime;
}
public static int numFactors(int num) {
assert num >= 2 : "failed precondition. num must be >= 2. num: " + num;
int result = 0;
final double SQRT = Math.sqrt(num);
for(int i = 1; i < SQRT; i++) {
if(num % i == 0) {
result += 2;
}
}
if(num % SQRT == 0)
result++;
return result;
}
}
import java.util.Random;
public class PrimeEx {
/**
* @param args
*/
public static void main(String[] args) {
printTest(10, 4);
printTest(2, 2);
printTest(54161329, 4);
printTest(1882341361, 2);
printTest(36, 9);
System.out.println(isPrime(54161329) + " expect false");
System.out.println(isPrime(1882341361) + " expect true");
System.out.println(isPrime(2) + " expect true");
int numPrimes = 0;
Stopwatch s = new Stopwatch();
s.start();
for(int i = 2; i < 10000000; i++) {
if(isPrime(i)) {
numPrimes++;
}
}
s.stop();
System.out.println(numPrimes + " " + s);
s.start();
boolean[] primes = getPrimes(10000000);
int np = 0;
for(boolean b : primes)
if(b)
np++;
s.stop();
System.out.println(np + " " + s);
System.out.println(new BigInteger(1024, 10, new Random()));
}
public static boolean[] getPrimes(int max) {
boolean[] result = new boolean[max + 1];
for(int i = 2; i < result.length; i++)
result[i] = true;
final double LIMIT = Math.sqrt(max);
for(int i = 2; i <= LIMIT; i++) {
if(result[i]) {
int index = 2 * i;
while(index < result.length){
result[index] = false;
index += i;
}
}
}
return result;
}
public static void printTest(int num, int expectedFactors) {
Stopwatch st = new Stopwatch();
st.start();
int actualFactors = numFactors(num);
st.stop();
System.out.println("Testing " + num + " expect " + expectedFactors + ", " +
"actual " + actualFactors);
if(actualFactors == expectedFactors)
System.out.println("PASSED");
else
System.out.println("FAILED");
System.out.println(st.time());
}
// pre: num >= 2
public static boolean isPrime(int num) {
assert num >= 2 : "failed precondition. num must be >= 2. num: " + num;
final double LIMIT = Math.sqrt(num);
boolean isPrime = (num == 2) ? true : num % 2 != 0;
int div = 3;
while(div <= LIMIT && isPrime) {
isPrime = num % div != 0;
div += 2;
}
return isPrime;
}
public static int numFactors(int num) {
assert num >= 2 : "failed precondition. num must be >= 2. num: " + num;
int result = 0;
final double SQRT = Math.sqrt(num);
for(int i = 1; i < SQRT; i++) {
if(num % i == 0) {
result += 2;
}
}
if(num % SQRT == 0)
result++;
return result;
}
}
Subscribe to:
Posts (Atom)